GNU gdb how to show source file name and lines of a symbol

17,253

Use info line command.

info line oyss_function

For example, assume the file test.c contains:

#include <stdio.h>

int main(void)
{
    printf("\n");
    return 0;
}

Then, invoking info line main in GDB gets:

(gdb) info line main
Line 4 of "test.c" starts at address 0x400498 <main> and ends at 0x40049c <main+4>.
Share:
17,253

Related videos on Youtube

oyss
Author by

oyss

Updated on September 15, 2022

Comments

  • oyss
    oyss over 1 year

    when use GNU gdb to debug a c process.

    list command will print the lines but not telling me the file name.

    set breakpoints can display all the line and file info I want but I don't want to set a breakpoint and have to disable or delete it.

    (gdb) b oyss_funtion
    Breakpoint 13 at 0x8049130: file main.c, line 119.
    

    Is there a gdb command or settings can show me the file line info of a function(symbol) without setting a breakpoint there?

  • sudo
    sudo about 7 years
    I'm getting No line number information available for address 0x48a746 <main>. Why would this happen? Edit: Oops, needed to compile with -g in GCC.
  • user202729
    user202729 over 2 years
    This answer only show the file name. To get the full path see this answer below a linked question: c++ - Identify source file name for a symbol in gdb debugger - Stack Overflow.