guo_j 发表于 2006-5-23 17:10:11

想在Window平台上,借助GDB开发一个GUI界面的调试器

想在Window平台上,借助GDB开发一个GUI界面的调试器,各位给个建议啊。
原理:
   在EDIT控件中,打开原文件。此时,可以进行语法高亮等的显示。
   当设置断点, 查看点时,通过 当前鼠标或者键盘的位置,可以获取光标所在处的变量(或者函数)。
在后台调用GDB的相应的命令, 并判断其执行结果。
GDB完成执行后, 在EDIT控件相应的部分显示结果。(比如:更新中断位置,更新变量的数值,更新内存区的显示数值等等)。

我不知道我的思路是否争取, 请各位给个建议啊,谢谢。
或者我们一起来做,OK?
我的MSN是:
[email protected]
希望能够联系。

guo_j 发表于 2006-5-23 17:14:23

另外我的信箱是: [email protected]
我不上MSN的时侯,可以通过信箱联系。

-------------------
另外如果你有做好的基于GDB的图形界面调试器,也请你要联系我啊,可以合伙的。
:-)

airylea 发表于 2006-5-23 19:14:48

skyeye不是一个很好的项目吗?

guo_j 发表于 2006-5-23 20:09:02

skyeye很伟大,
   可我没有看skyeye的代码,也不知道skyeye中是如何根GDB进行交互,并完成调试过程的。
   skyeye中,确实存在根GDB交互的代码吗?如果有,那我想参考, 能告诉我skyeye中有GDB调用的 代码吗? 大约是在什么文件中呢?
   谢谢。

wxMidnight 发表于 2006-5-23 20:37:37

skyeye只是一个模拟器,和一个GDB调试前端完全不一样(除了skyeye以前集成insight的版本)

wxMidnight 发表于 2006-5-23 20:43:58

skyeye 1.0以前的,基本上= hack gdb
skyeye 1.0以后的,基本上= skyeye + gdb stub

guo_j 发表于 2006-5-26 11:36:46

skyeye 1.0以前的,基本上= hack gdb
skyeye 1.0以后的,基本上= skyeye + gdb stub

skyeye + gdb stub的做法应该是跟GDB + GDB_STUB的做法是一直的。
但是,我没有读过skyeye ,主要是没有skyeye 在调试方面实现的原理的说明。

我想, skyeye 如果实现了 通过GDB stub来实现源代码界别的调试,那么就相当于自己实现了一套gdb。 那么,这确实是很了不起的一件事情。
wxMidnight 可以在这方面的内容给予介绍,以帮助我接下来的方案设计工作。

另外,我的MSN是:
[email protected]
希望,能够一起来讨论图形界面gdb源代码调试器的设计开发工作,OK?

wxMidnight 发表于 2006-5-26 13:23:52

skyeye + gdb stub != gdb
skyeye + gdb stub != gdb + gdb stub

skyeye + gdb stub != debug
skyeye + gdb stub + gdb == debug

缺少了gdb stub,skyeye(> 1.0)不能支持gdb调试。gdb stub是gdb的桩,实现寄存器读写,内存读写,设置断点(low level的,对于一般CPU而言,用一定的指令集插入到断点的地方,当程序运行到那里是,产生CPU异常,异常被捕获程序也就停下来了)等等,它只负责接受命令,执行命令等最底层的工作

还是先补补知识吧
http://www-128.ibm.com/developerworks/cn/linux/embed/debug/index.html
http://www-128.ibm.com/developerworks/cn/linux/l-kdb/
页: [1]
查看完整版本: 想在Window平台上,借助GDB开发一个GUI界面的调试器