如果我有一个简单的C程序,只有一个主要功能。
。
如果这些构造是由操作系统维护的呢?哪些是可以访问的,为什么?
在程序执行时,是否有任何工具可用于可视化这样的程序状态?
谢谢德科斯托。
发布于 2011-03-02 04:18:02
调试器(如gdb)可以向您显示所有这些信息。
从程序本身AFAIK中找出这些信息没有简单的方法。
要查找代码部分的位置,可以获取main()函数的地址(只需获取函数指针并查看其指向的位置)。或者,查看内联程序集中的指令指针。
若要粗略地查找堆栈的位置,请从内联程序集中获取局部变量的地址或堆栈指针。
在linux下,每个进程在/proc文件夹下都有一个目录,您可以在其中读取有关进程的各种信息。(我认为其中一些东西正被转移到/sys)
希望这能有所帮助。
https://stackoverflow.com/questions/5162533
复制相似问题