我有一个依靠外部共享图书馆的方案,但在图书馆内部运作后,我丧失了使用断点的能力。
在我履行这一职能之前,我可以打破僵局,采取同样的正常步骤,但后来,这项职能却从未中断。 如果我第二次尝试使用<条码><>>>>><>>>/代码>,它就赢得了主机。 这不是一个线性的职能问题,因为我是在我评论这一特殊职能之前和时,就打破了这些职能。
是否有任何人像以前那样遇到这种情况? 我能做些什么?
使用gdb 7.1和gcc 3.2.3
Edit: After some hints from users I figured out that the process is forking inside the library call. I m not sure what it s doing (and I really don t care). Can I somehow compensate for this? I ve been experimenting with the follow-fork-mode as child, but I m really confused what happens once it forks and I can t seem to figure out how to continue execution or do anything of use.
Edit: Further investigation. The nearest I can tell, gdb is losing all its symbol information somewhere. After the 2nd run, all symbols resolve to the @plt address and not to the actual address that they resolved to on the first run. Like somehow the second loading of the process loses all the info it gained the first time around and refuses to reload it. I m so confused!!
Edit: So I traced down the problem to the vfork of a popen call. Apparently gdb doesn t play nice with popen? As soon as I detach from the popen d vforked process, I lose all my symbols. I ve read some reports online about this as well. Is there any hope?