用__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());
exit();
} int b()
{
printf("%s(0): %p\n", __func__, __builtin_return_address());
printf("%s(1): %p\n", __func__, __builtin_return_address());
while()
{
sleep();
}
} int a(int temp)
{
temp += ;
printf("%s(0): %p\n", __func__, __builtin_return_address()); b(); return temp;
} int main()
{
signal(SIGINT, sigfunc);
a(); return ;
} 执行后:
a(): 0x400675
b(): 0x400653
b(): 0x400675
^Csigfunc(): 0x30bda33140 用gdb调试:
gdb e
...
(gdb) l *0x400675
0x400675 is in main (e.c:).
int main()
{
signal(SIGINT, sigfunc);
a(); return ;
}
用__builtin_return_address获得程序运行栈情况【转】的更多相关文章
- Java高级--Java线程运行栈信息的获取 getStackTrace()
		
我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下:为了免去解析StackTrace字符串的麻烦,JDK1.4引入了一个 ...
 - Android 利用线程运行栈StackTraceElement设计Android日志模块
		
如果你想在你的Android程序中自动打印MainActivity.onCreate(line:37)这种类名.方法名(行数)的日志该如何实现呢? 1.引入Java的线程运行栈 Java.lang包中 ...
 - Java程序运行时,数据都保存到什么地方?
		
程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: 寄存器 这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部.然而,寄存器 ...
 - 解决IntelliJ IDEA控制台乱码问题[包含程序运行时的log4j日志以及tomcat日志乱码]
		
这里使用的IntelliJ IDEA版本为[IntelliJ IDEA 14.1.4]: 一.控制台打印的程序运行时的log4j日志中包含中文乱码 在IDEA安装目录的bin目录下找到名为" ...
 - 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs
		
http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...
 - Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs
		
http://www.vpser.net/manage/nethogs.html 来自. 最后略有修改 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监 ...
 - Linux查看程序端口占用情况
		
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用. 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat ...
 - zt:Linux查看程序端口占用情况
		
http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html yxr注: 由于安装eda工具libero,license要配端口,为确认端口 ...
 - Linux查看程序端口占用情况【转】
		
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用. 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat ...
 
随机推荐
- 【bzoj3437】小P的牧场  斜率优化dp
			
题目描述 背景 小P是个特么喜欢玩MC的孩纸... 描述 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个 ...
 - BZOJ3669:[NOI2014]魔法森林——题解
			
http://www.lydsy.com/JudgeOnline/problem.php?id=3669 https://www.luogu.org/problemnew/show/P2387 为了得 ...
 - B树,B+树,B*树简介
			
B树(有些人也叫B-树) 是一种多路搜索树 : 1.定义任意非叶子结点最多只有M个儿子:且M>2: 2.根结点的儿子数为[2, M]: 3.除根结点以外的非叶子结点的儿子数为[M/2, M]: ...
 - codevs5037 线段树练习4加强版(暴力分块)
			
求大爷教线段树怎么写啊QAQ 只会写分块...一开始脑抽写成了O(NKlogN)还被CZL大爷嘲讽了一发T T f[i][j]表示在第i块中,模k为j的数有几个,然后每次修改的时候只需要打个标记,查询 ...
 - 软银开放Pepper开发,给机器人写安卓App是怎样一种体验?
			
日本软银推出的Pepper智能机器人 新浪科技讯 北京时间5月19日下午消息,谷歌Android移动操作系统的触角正在不断扩大,从今天开始,开发者可以为日本电信公司软银的Pepper人形机器人设计An ...
 - AIM Tech Round (Div. 2) B
			
B. Making a String time limit per test 1 second memory limit per test 256 megabytes input standard i ...
 - Codeforces Round #337 (Div. 2)B
			
B. Vika and Squares time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
 - Coconuts HDU - 5925  二维离散化 自闭了
			
TanBig, a friend of Mr. Frog, likes eating very much, so he always has dreams about eating. One day, ...
 - bzoj 4069 [Apio2015]巴厘岛的雕塑 dp
			
[Apio2015]巴厘岛的雕塑 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 494 Solved: 238[Submit][Status][Dis ...
 - HDU1914 稳定婚姻匹配
			
The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (J ...