文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用GDB调试QT&WEBKIT

使用GDB调试QT&WEBKIT

时间:2010-07-05  来源:frostmourn716

欢迎访问我的新博客TroyChengSpace:http://troychengspace.appspot.com/

最近在做的事情是优化Webkit内核在qt下的性能,需要手动编译Webkit和Qt的源代码(编译的过程见前面几篇日志),然后进行优化。在这个过程中遇到了一个不大不小的麻烦,在看源代码的时候我们都需要绘制调用关系图,但是在MeeGo系统上很多常用的工具都没有,用Vim+cTags+cscope看调用关系也不是很方便,个人觉得看代码最好用GDB,既能看到工作过程,还能看到其它变量都存了些什么东西,这里就介绍一下使用的方式。

优化的过程需要有一些benchmark, 我们是使用Wbkit编译后自带的Qtlauncher和Chrome对比来找到可能的优化点。需要用到GDB的地方就是在QtLauncher中跟踪代码的执行过程,既有Webkit部分的也有Qt部分的。按照平常直接gdb <app>然后断点调试的方式不好用,因为中间它还会加载一些外部的模块。前面头疼了一会儿,后来想到,既然要加载外部模块,那么为什么不等到加载完成再去调试呢,查了查GDB的手册发现GDB可以根据程序的PID来attach上去进行调试,这样就差不多Ok了,过程如下:

  1. 照常启动Qtlauncher: 
    export http_proxy=
    QtLauncher <args>
  2. 使用ps -a的命令找到QtLauncher的PID,记下来
  3. 在另一个终端中输入 gdb Qtlauncher
  4. 在gdb命令行中输入attach <PID>跟踪到QtLauncher中并进行调试
经过实验,完全可行,WebKit和Qt部分的代码都可以看的到,这样读代码就方便多了
相关阅读 更多 +
排行榜 更多 +
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

飞行射击 下载
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

飞行射击 下载
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

飞行射击 下载