![]() |
1
15
我只想说-谢谢你所有的好的和令人难以置信的快速的答案,帮助我理解了很多问题(为什么在C中没有这样一个“本机”函数)! ( 很抱歉回答了我自己的问题-这样做,以免混淆原来的帖子,并能够格式化代码 ) 再往前看,我发现:
说明了打电话的诀窍
基本上最终展示了我想要的:
EDIT:我认为它不适用于内核模块的原因是,在本例中,我们有一个带有进程ID的userland程序;我们只是打电话
所以,在任何情况下,似乎
|
![]() |
2
2
doxygen 将生成一个包含程序中每个结构类型的所有成员信息(名称和类型)的XML文件,编写一个程序来处理该XML文件并自动生成打印输出人员(const struct person*)函数的代码不会太困难。 |
![]() |
3
2
看到了吗 this related question 有关解析结构的一些信息。特别是我提到的 pstruct 在您的例子中,如果您想从正在运行的程序中获取信息,您必须调用其中一个外部工具,或者从可执行文件中解析出调试信息并适当地显示它。 你也可以看看 libgdb ,虽然看起来有点过时。 |
![]() |
4
1
您必须添加描述结构的元信息,以便打印输出结构可以完成它的工作。否则,它什么也猜不到。尝试用gdb删除每一个调试信息,你会发现它不能“谈论”年龄之类的东西。 |
![]() |
5
0
最近有人提到
类似任务的堆栈溢出。也许你可以把它挖出来,不过我没有马上找到。 |
![]() |
6
0
参考文献: https://gitlab.com/makelinux/lib/blob/master/snippets/gdb-print-prepare.md |
![]() |
rammanoj · 使用目标远程本地主机:26000 7 年前 |
![]() |
Ray · 在D中引发异常时,如何使调试器中断? 7 年前 |
![]() |
Zhou · 如何使用当前IP和BP寄存器计算出完整的调用堆栈? 7 年前 |
![]() |
Kajsa · gdb日志记录不工作 7 年前 |