以前弄过chromium的gdb,没有看到gdb信息
今天,重新弄了一下。
主要参考 http://code.google.com/p/chromium/wiki/LinuxDebugging#Getting_renderer_subprocesses_into_gdb
其实,挺简单的,但是一旦出错,你会怀疑很多东西,比如gdb的版本里面是不是没有包含调试符号,gdb用法对不对等。
首先,去掉第一个怀疑,只要是debug版本,默认是有调试信息的
其次,如果你没有看到调试信息,很可能是gdb的用法有问题了。
我们知道,chromium是多进程的,所以造成调试的时候会和普通的程序不一样。如果你比较清楚gdb的attach,并且知道要调试哪个进程(pstree -p | grep chrome),就不必往下看了。你是高手!
大部分情况下,我们可以使用下面的简单的办法
gdb --args ./chrome --single-process
这样,程序就在一个进程内了。
在gdb里面记得查看chrome是否有带参数--single-process。
一般我都是r,然后在地址栏里面输入真正要调试的网址。
好了,比较简单吧