I'm using remote serial-line debugging of the linux kernel on an x86. I've also tried gdb 4.18 and the latest gdb 5.0 and they work the same way. I load the module, find the text, data, and bss base addresses. I reboot, then start up gdb with these addresses: add-symbol-file /path/to/module.o 0xd0064050 0xd006f4e0 0xd00703a0 The 3 addresses are the .text, .data, and .bss from the insmod -m I can set breakpoints by routine address and I can single-step. They both work. But breakpoints inside routines at particular lines *usually* don't work (but occasionally they do, I have no idea why). And examining of module global variables does not work. In both cases, it looks like gdb may be forgetting to add in the proper offset specified during the add-symbol-file command. For instance, if I say b "source-file-name.c":123 I get: Breakpoint 1 at 0x3daf: file source-file-name.c, line 123 Where 0x3daf is probably the offset based on 0 instead of 0xd0064050. Then when I continue, it of course says "Cannot insert breakpoint 1". Also, if I try to print a variable: p variable-name I get: Cannot access memory at address 0x144 instead of an address larger than 0xD0000000 The symbol table for 'variable-name' shows that this variable is in the .data area plus 0x144 so it looks like gdb is just not adding in the base address specified during the load. Have you seen this problem? Or am I doing something wrong? -Paul Kinzelman _______________________________________________ Bug-gdb mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-gdb