[EMAIL PROTECTED] (Gill Bates) wrote in message news:<[EMAIL PROTECTED]>... > Does anyone know why the cygwin version of gdb doesn't pass exported > variables to the program being debugged? I have a simple test case > where the program can retrieve an environment variable via getenv(). > The program works when NOT running with gdb. If I run the same > executable with gdb, either window or non-window mode, the same > variable is not defined -- not retrievable via getenv(). > > Thanks for any help!! > >
OK; mystery mostly solved... After much arduous debugging gdb using gdb (that was pretty weird and confusing…), I found the function ‘child_create_inferior (char *exec_file, char *allargs, char **env)' in win32-nat.c was building the env string correctly then passed it to the win32api CreateProcess. It appears the win32 function is ‘limited' to the number of env variables it will accept and will silently discard any that are beyond this undocumented limit. Anyone know what the number is? I thought not… In any case, the problem appears to be isolated to this bogus win32 api function. But; it leaves me wondering how the cygwin exec function gets around the dilemma. What I plan to do is dump the variables into a file, then suck them into the exec'ed program and define them using putenv()… Thanks for the HELP!!! _______________________________________________ Bug-gdb mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-gdb