1

问题很简单。我的插件是由 Firebreath 创建的,想gdb在 Linux 中调试我的 *API.cpp 文件。

是的,我已经阅读了这篇文章,并且得到了这个 PID:

30227  0.0  0.4 115024 12300 pts/2    Sl+  00:03   0:00 /usr/lib/chromium/chromium --type=plugin --plugin-path=/home/USER/Documents/mycode/0.1/npMyPlugin.so

当我打开时,gdb我总是得到类似的输出:

Reading symbols from /usr/lib/libpcrecpp.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpcrecpp.so.0
Reading symbols from /usr/lib/libssh2.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssh2.so.1
Reading symbols from /usr/lib/libssl.so.1.0.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssl.so.1.0.0
Reading symbols from /usr/lib/libcrypto.so.1.0.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcrypto.so.1.0.0

可能不是正确的过程。任何想法?

先谢谢了。

更新 - 忽略消息 谢谢大家的评论。好吧,我忽略了该消息并执行了以下操作:

(gdb) r  
The program being debugged has been started already.  
Start it from the beginning? (y or n)  
Program not restarted.  
(gdb) b 328  
No line 328 in the current file.  
Make breakpoint pending on future shared library load? (y or n)  

所以基本上gdb加载我的 MyPlugin.cpp 而不是我的 MyPluginAPI.cpp。任何想法?

4

1 回答 1

0

仅当您只有一个源文件时,才使用行号设置断点。

使用例如b MyPluginAPI.cpp:328b MyPluginAPI::myMethod()代替。

于 2012-04-20T09:52:41.847 回答