我正在使用Ubuntu 11.04。如何找出进程的最大调用堆栈大小以及堆栈中每个帧的大小?
您可以使用查询最大进程和堆栈大小getrlimit。堆栈框架没有固定的尺寸。它取决于每个帧需要多少本地数据(即本地变量)。
getrlimit
要在命令行上执行此操作,可以使用ulimit。
如果要为正在运行的进程读取这些值,我不知道执行此操作的任何工具,但是查询/ proc文件系统很容易:
cat /proc/<pid>/limits