getenv always return NULL in GDB/DDD

Luo, Ginger
Fri Oct 26 09:35:00 GMT 2018

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.


More information about the Gdb mailing list