This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 2018-10-26 05:35, Luo, Ginger wrote:
Hello, GDB experts I try to call getenv in my C code, this can return correct env string in terminal, while it returns NULL in GDB/DDD. #include <stdlib.h> #include <string.h> #include <stdio.h> void main() { char * a = getenv("ANCHOR"); // ANCHOR exists in the terminal if (strlen(a)>0) printf("%s\n", a); } The GDB/DDD is started from the same terminal. Even I "show environment", this env exists. Anyone any idea? OS/Tools version info: RHEL Linux hostname1 2.6.32-754.3.5.el6.x86_64 #1 SMP Thu Aug 9 11:56:22 EDT 2018 x86_64 GNU/Linux GNU gdb (GDB) 7.12 gcc (GCC) 6.3.0 SHELL is tcsh, DDD/GDB is using default settings. Let me know if you need any further info.
I don't see off-hand why this would happen. One thing to try would be "set startup-with-shell off". If, for some reason, your shell (through which the debugged program is ran) messes up with the environment, this would bypass it entirely.
Otherwise, as usual, I would recommend trying the latest version of GDB. I don't have anything specific in mind that changed recently, but it's good to try.
Simon
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |