用__builtin_return_address获得程序运行栈情况【转】
转自:http://blog.csdn.net/vpwork/article/details/7680102
%pF versatile_init+0x0/0x110%pf versatile_init
版权声明:本文为博主原创文章,未经博主允许不得转载。 [cpp] view plain copy#include <stdio.h> #include <stdlib.h> #include <signal.h> #define MAX_LEVEL 4 void sigfunc(int signo) { printf("%s(0): %p\n", __func__, __builtin_return_address(0)); exit(1); } int b() { printf("%s(0): %p\n", __func__, __builtin_return_address(0)); printf("%s(1): %p\n", __func__, __builtin_return_address(1)); while(1) { sleep(1); } } int a(int temp) { temp += 1; printf("%s(0): %p\n", __func__, __builtin_return_address(0)); b(); return temp; } int main() { signal(SIGINT, sigfunc); a(123); return 0; } 执行后: a(0): 0x400675 b(0): 0x400653 b(1): 0x400675 ^Csigfunc(0): 0x30bda33140用gdb调试: gdb e ... (gdb) l *0x400675 0x400675 is in main (e.c:37). 32 int main() 33 { 34 signal(SIGINT, sigfunc); 35 a(123); 36 37 return 0; 38 }
用__builtin_return_address获得程序运行栈情况【转】相关推荐
- 【KEIL·单片机·扫盲贴】关于ARM单片机程序内存使用情况的细致讨论。
接触了两年多时间的单片机编程本人对关于单片机程序内存如何耗费的问题一直懵懵懂懂,直到在近日看到某篇有关于MDK MAP文件介绍的帖子后才有种醍醐灌顶的感觉,这里我将分享在此之上的观点与见解以供大家讨论 ...
- android 程序运行不了,Android程序运行时,真机不能用
Android程序运行时,真机不能用 下列情况均发生在手机"开发人员选项"内已经选择了USB调试的情况下. 一.Android Device chooser中不显示真机 [查找原因 ...
- 【Rust日报】2019-10-01 - Shawl: 一个能够将一切应用程序运行为Windows服务
Shawl: 将一切应用程序运行为Windows服务 Shawl是一个用Rust编写的能够将任何程序作为Windows服务运行的包装程序.它可以处理Windows服务的API,因此您原本的程序只需要响 ...
- 用安卓虚拟机运行程序时程序停止_程序运行时Trace:DynamoRIO Tool
1. 程序运行时Trace,DynamoRIO 最近在做一个trace程序执行路径的项目,了解到DynamoRIO Dynamic Instrumentation Tool Platform 可以实现 ...
- 云原生应用程序运行时 Kyma 的主要特性介绍
Kyma 是一个应用程序运行时,提供了一种在 Kubernetes 的云原生世界中连接.扩展和自定义应用程序的灵活且简单的方法. Kyma 开箱即用,提供各种功能,例如: 以经济高效和可扩展的方式运行 ...
- 云原生应用程序运行时 Kyma 简介
「这是我参与2022首次更文挑战的第40天,活动详情查看:2022首次更文挑战」 Kyma 读音 kee-ma 是一个云原生应用程序运行时,它将 Kubernetes 的强大功能与一组一流的工具和开源 ...
- 程序员实际情况_程序员实际上是做什么的?
程序员实际情况 What do programmers actually do? What can they be working on? 程序员实际上是做什么的? 他们可以做什么? In this ...
- java 找不到符号 con_我的java程序运行时,提示找不到符号,求解!
我的java程序运行时,提示找不到符号,求解! 关注:163 答案:4 mip版 解决时间 2021-02-07 23:57 提问者人潮拥挤你不在 2021-02-06 23:57 import ...
- java程序运行时,数据的存储地!
程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: (1)寄存器.这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部.然而, ...
最新文章
- centos的网络配置
- 46 定时任务模块APScheduler
- 洛谷 P1064 金明的预算方案
- Django中使用极验Geetest滑动验证码
- JAVA 1.2(原生数据类型 Primitive Data Type)
- 课时21:函数:lambda表达式
- stm32编程入门_电子设计与单片机编程书籍资料推荐
- 第一季1:HI3518EV200的体验
- asterisk概述和代码分析
- mac android mtp,果粉也用安卓!MacBook连接安卓机最好的工具
- android 检查 write_external_storage,android – 如何知道何时需要WRITE_EXTERNAL_STORAGE
- 剑指offer值二叉树的下一个结点
- 【python】isinstance可以接收多个类型,hasattr,getattr,setattr
- 库存在,编译或运行时提示找不到,要配置LD_LIBRARY_PATH
- Android APP开发入门教程
- 4个睡眠中的“小动作”,暴露了你的身体状况
- 第二章 02 天牛质感
- UE4制作多人大地型游戏的优化
- Syzkaller测试
- 演播室与舞台在灯光设计上的区别