Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gdb + nasm debug info not being created

I am trying to debug a small .asm file that I wrote in Ubuntu. I am however running into an issue where my symbol table is not being loaded and was looking for some help.

I am compiling my program as follows.

nasm -f elf -g -F dwarf bs.asm
gcc -m32 -g bs.o -o bs

which produces the executable bs when I run

gdb bs 

I get a message that says no debugging symbols and when I try to set a break point by

b main 

it says function not defined even though its in the file and I can run it using ./bs

I read a couple posts that suggested adding the -F dwarf when assembling but that didn't help if anyone has any insight I would greatly appreciated your input.

like image 730
cpowel2 Avatar asked Sep 15 '12 21:09

cpowel2


2 Answers

cpowel2 solved his own problem:

SOLVED: Just in case anyone else was having the same issue (it seems like there are a ton of posts on the net) I was able to resolve the issue by changing the section .txt portion of my file to section .text and gdb recognized it right away.

like image 80
Bo Persson Avatar answered Nov 12 '22 13:11

Bo Persson


Assemble your file with the following commands :-

nasm -f elf -F dwarf -g file.asm
ld -m elf_i386 -o file file.o

and then use gdb,

like image 14
Pratik Singhal Avatar answered Nov 12 '22 12:11

Pratik Singhal