c++关于在需要的时候输出当时函数调用栈信息的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++关于在需要的时候输出当时函数调用栈信息的问题相关的知识,希望对你有一定的参考价值。
就是指在某个情况出现的时候,需要知道当时函数调用堆栈的信息,由于特殊原因(比如此情况的出现无法用断点来捕获,或者是在linux下,无法使用断点)不能断点看堆栈调用情况,要把函数调用栈的情况记录在文件中,希望有高人指点。
实现是肯定可行的,因为以前见过一个老资格的同事有用过实例,只是当时没有努力去研究下,比较后悔啊,所以不要给答案说不可能了。另外如果是backtrace和backtrace_symbols 函数来输出的话,我试了下网上的那个,#include <execinfo.h>
,但是还是没有这两个函数定义,查这两个函数相关信息也没个头绪,希望能给些详细的指点,能给资料我自己看也成的,谢谢!好再加分,偶分还是蛮多的~
Copy Constructor called和Destructor called.
说明f函数生成了三个TDate实例,这三个分别是由:
TDate f(TDate Q),参数值传递
TDate R(Q);拷贝构造
return Q;生成一个Q的副本作为返回值
产生的
初学者一般不知道的是,return 也会造成一个副本的产生,这就是为什么很多类的成员函数的返回类型里要加&.加了引用的话,就不会产生副本了
另外,虚机团上产品团购,超级便宜 参考技术B 太专业了……你可以在函数中加入汇编语句改变一下堆栈段地址然后想查看的时候顺着那个地址查看一下,不过不能用断点太悲剧了 参考技术C 用core文件试试看,,
参考资料:xsx
以上是关于c++关于在需要的时候输出当时函数调用栈信息的问题的主要内容,如果未能解决你的问题,请参考以下文章