Jay wrote: Now, what I'd also like to be able to do is to put a breakpoint in the source of my client app, explicitly start up my client app in the debugger, and when I hit the breakpoint in the client source, I'd like to be able to step through the client source and then into the source code of my library. In other words, I'd like to be able to step into the source code of a function residing in MyLib.prc just as though it were a function residing in MyLibClient.prc. Is there some way analagous to above that I can tell the debugger that the library's source code resides in the directory structure containing MyLib.prc? If there is, I'd very much appreciate finding out how to do so. Ben answered: This can't be done with the current V9 debugger, and we are not planning on adding this capability, and it is a pretty difficult task. The problem is that a shared library call is a system call. The debugger just sees the shared library call the same way it would see a call to FrmDrawForm or StrLen -- it is a system trap. To step into this trap requires a lot of additional logic that isn't in the CW debugger. To complicate things, a call to one shared library looks exactly like a call to any other shared library -- only the leading parameter, the libRef, distinguishes them. Now, with V9, you can debug your client app and add the shared library to the "Other Executables" pref panel, and the debugger will pull in symbols for both PRC files, and you can set BPs in both. Stepping into the library code still won't work, but if you set BPs on all the routines, you can trace what's happening to some extent. -- Ben Combee <[EMAIL PROTECTED]> CodeWarrior for Palm OS technical lead Palm OS programming help @ www.palmoswerks.com
Hi Ben, Thanks very much for your exceedingly prompt reply. I didn't think there was a way to do what I wanted, but there's no harm in asking the experts. In any case, I know that you can't do the equivalent of what I was asking about in MS DevStudio using VC++. Still, I held some faint glimmer of hope that the Metroworks developers had filled a gap left by the Microsoft developers. The trick using the "Other Executables" sounds pretty good, but I haven't yet figured out how to use it. I just did what you suggested, namely, I added MyLib.prc to the Other Executables panel for MyLibClient and put a breakpoint in both a function in MyLibClient as well as in a function in MyLib which is called by the first function. I started up the debugger, hit the first breakpoint, hit Run, but didn't hit the second breakpoint in MyLib. What am I missing here? What exactly does this trick do for me, and how do I make use of it? Thanks again, Jay -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
