This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Target: TI8148EVM
Target OS: Linux
JTAG controller: XDS510USB
GDB: v7.3.1
I've got a dual debug sessions setup (i.e. JTAG for Linux kernel module, GDB for Linux process). After getting my kernel session setup I then launch the GDB sessions and all seems Ok. But from the GDB session I bring up the disassembly window and it shows disassembly for my process with interspersed source and assembly, like it should.
But there are 2 issues that are causing problems:
1) GDB normally supports assembly step into/step over, but the icons for this either at the top debug icons are disabled, as well as the icons for this in the Disassembly window. Why? Is this a bug?
2) I want to set a C/C++ breakpoint from within the Disassembly window, but there doesn't seem to be a way to do this. The only breakpoints that seem to get set are CCS (JTAG) breakpoints, which won't work in a Linux process address space (as far as I know). I have the correct context set (that is to say, under the Debug window in the GDB session I've got the thread in question highlighted), but even right-click doesn't have any options for C/C++ breakpoint. GDB breakpoints work fine if I go to the GDB console and manually enter a "break *addr", where addr is the address to break on. That is to say, if I manually set a GDB breakpoint in between a source code line and then Resume it will hit the manual breakpoint just fine. What gives? Is this a bug?
Hi Joe,
Re #1) The assembly step into and step over actions are something that we added for JTAG debugger. Standard Eclipse doesn't have such action for the gdb debugger.
Re #2) Can you check your launch configuration, i.e select 'Run|Debug Configurations...' from the main menu, and select your launch configuration in the tree view, now check whether you are using 'GDB (DSF) Create Process Launcher' or 'Standard Create process Launcher' (should be at the bottom of the page in the Main tab). Switch to use GDB launcher if you are not, then C++ breakpoint will be set in the disassembly view by default. If you are using Standard launcher and can't use GDB for some reason, then you can switch the breakpoint type from the 'Run|Breakpoint Types' main menu.
I hope this help.
Regards,
Patrick
As noted in the post subject, I'm doing remote GDB debugging (that is to say, GDBSERVER runs on the target and GDB runs on the host). In my debug configuration I'm using the "GDB (DSF) Manual Remote Debugging Launcher". Not sure how to use any other launcher for this. I can see there's an automatic GDB remote launcher, but I don't know how this is supposed to work in regards to actually loading GDBSERVER and my target application remotely...it doesn't seem like there's enough information provided (such as credentials, etc.,...) to load and exec something remotely...there's no mention of even what is the type of remote operating system...how does this work? If my target ran a small RTOS that didn't have facilities for dynamically loading and executing programs how could this work?
Seems to me that the only viable option was the one I choose.
Details on setting up GDB are available here: http://processors.wiki.ti.com/index.php/Linux_Debug_in_CCSv5