user277465
user277465

Reputation:

using gdb effectively

I'm used to using gdb quite effectively when I am dealing with ELF binaries which have been compiled using the -ggdb flag. However there are a few difficulties I am facing when I am facing normal non-stripped binaries.

  1. I can set the breakpoint at main, but what if I needed to set the breakpoint at a fixed offset(say 10 lines) from the start of main?
  2. Usually I get the address of a character array(say buf) as print &buf. However, in the current case I get a message saying that buf cannot be found in the current context.

How do I deal with the above mentioned issues? It would be great if you could provide some reading material too.

Upvotes: 0

Views: 324

Answers (1)

Jeremiah Willcock
Jeremiah Willcock

Reputation: 30969

To get things like source line number and variable information, your code needs to be compiled with debug symbols (-ggdb or similar). Compiling without debug symbols but unstripped keeps in function and global variable names, but nothing else. Stripping the executable even removes some of those. So, in answer to your question, you can't do the things you want without compiling with -g.

Upvotes: 4

Related Questions