2012-04-17 105 views
1

问题很简单。我有我的Firebreath创建的插件,并且想要在Linux中使用gdb来调试我的* API.cpp文件。在Linux中使用gdb调试Firebreath

是的,我已经阅读this文章,我得到这个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。任何想法?

+0

这些只是警告。那之后gdb不工作吗?如果是这样,它给你什么样的实际错误? – Mat 2012-04-17 05:03:33

+0

这只告诉你,没有调试符号可以找到的库 - 没有问题,这是没有问题,只要你不想调试到库代码,你可能不希望反正。 – hochl 2012-04-17 09:50:41

+0

我已经使用更新编辑了原稿。 – 2012-04-18 02:01:32

回答

0

仅使用行号设置断点只适用于只有一个源文件。

使用例如改为b MyPluginAPI.cpp:328b MyPluginAPI::myMethod()