- Java代码中打印堆栈
Java代码打印堆栈比较简单, 堆栈信息获取和输出,都可以通过Throwable类的方法实现。目前通用的做法是在java进程出现需要注意的异常时,打印堆栈,然后再决定退出或挽救。通常的方法是使用exception的printStackTrace()方法:
复制代码
1 try {
2 …
3 } catch (RemoteException e) {
4
5 e.printStackTrace();
6 …
7 }
复制代码
当然也可以只打印堆栈不退出,这样就比较方便分析代码的动态运行情况。Java代码中插入堆栈打印的方法如下:
1 Log.d(TAG,Log.getStackTraceString(new Throwable()));
- C++代码中打印堆栈
2.1 通过捕获异常
参考文章:
https://stackoverflow.com/questions/3899870/print-call-stack-in-c-or-c/26529030
https://blog.csdn.net/Zhanglin_Wu/article/details/109333908?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_aggregation-3-109333908.pc_agg_rank_aggregation&utm_term=call+stack%E5%9C%A8c%2B%2B%E4%B8%AD&spm=1000.2123.3001.4430
在Linux中运行的