Re: Does gdb initialize uninitialized variables?
Martin Simmons <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
I've sometimes seen different layout of the stack when running under gdb because it changes the environment and converts argv[0] to an absolute path. You could try running the program without gdb and then attach gdb to it from a different shell. If the program crashes before you have time to attach gdb, then try adding a call to sleep() in main() to delay it. __Martin >>>>> On Tue, 22 Feb 2022 21:30:26 +0000, Edgar Mobile via Gdb said: > > I tried it as the very first command even before run. Any more ideas? (tx already) > > ________________________________ > From: Ruslan Kabatsayev <[email protected]> > Sent: Monday, February 21, 2022 5:33 PM > To: Edgar Mobile <[email protected]> > Cc: [email protected] <[email protected]> > Subject: Re: Does gdb initialize uninitialized variables? > > Hi, > > On Mon, 21 Feb 2022 at 12:45, Edgar Mobile via Gdb <[email protected]> wrote: > > > > Greetings, > > > > I currently try to find a bug that might be caused by uninitialized variables/memory. But it never appears when I use gdb. Does gdb change how memory is initialized in any way, be it on stack or via new/malloc? > > Memory-related bugs that don't happen when using GDB but do without > GDB are often caused by GDB disabling ASLR. This is usually useful for > reproducibility of debugging sessions, but may indeed make address > space layout too predictable and fail to reproduce a bug. Try using > the GDB command "set disable-randomization off" (without quotes) to > undo this behavior and thus start your program in a normal, > randomized, environment. > > Besides, if your problem is indeed with uninitialized variables, you > might find Valgrind memory checker more useful than a debugger. > > > > > Regards > > Regards, > Ruslan >