使用addr2line分析代码错误
来源:互联网 发布:华讯网络笔试题 编辑:程序博客网 时间:2024/06/07 09:57
编写一个程序wang.c内容如下:
#include <stdio.h>
int func(int a, int b)
{
return a / b;
}
int main()
{
int x = 10;
int y = 0;
printf("%d / %d = %d\n", x, y, func(x, y));
return 0;
}
测试流程:
gcc -o wang -g wang.c
执行生成的wang程序。会发现出错。如下所示:
Floating point exception (core dumped)
利用addr2line找到出错的位置。
1、先执行 dmesg | grep "wang"找到执行错误提示如下:
[2877299.687745] wang[29936] trap divide error ip:400506 sp:7fffe31a2ef0 error:0 in wang[400000+1000]
2、找到它的ip为400506,利用addr2line -e wang 400506这条命令,显示如下。
/home/wangkang/wang/C/addr2line/wang.c:5 说明addr2line这个代码处第五行出错,即return a/b处。
#include <stdio.h>
int func(int a, int b)
{
return a / b;
}
int main()
{
int x = 10;
int y = 0;
printf("%d / %d = %d\n", x, y, func(x, y));
return 0;
}
测试流程:
gcc -o wang -g wang.c
执行生成的wang程序。会发现出错。如下所示:
Floating point exception (core dumped)
利用addr2line找到出错的位置。
1、先执行 dmesg | grep "wang"找到执行错误提示如下:
[2877299.687745] wang[29936] trap divide error ip:400506 sp:7fffe31a2ef0 error:0 in wang[400000+1000]
2、找到它的ip为400506,利用addr2line -e wang 400506这条命令,显示如下。
/home/wangkang/wang/C/addr2line/wang.c:5 说明addr2line这个代码处第五行出错,即return a/b处。
0 0
- 使用addr2line分析代码错误
- 使用Addr2line工具定位死机代码
- NDK 使用 addr2line 定位 Fatal signal (SIGSEGV) 错误
- linux/unix 段错误捕获(打印栈,addr2line使用)
- linux/unix 段错误捕获(打印栈,addr2line使用)
- NDK 使用 addr2line 定位 Fatal signal (SIGSEGV) 错误
- Android中使用addr2line来分析出错信息
- Android中使用addr2line来分析native信息
- 使用 dmesg 和 addr2line 分析程序 core 原因
- 分析安卓ANR tombstone使用ndk-stack addr2line
- Android中使用addr2line来分析出错信息
- Addr2Line 源代码分析
- 分析binutils之addr2line
- addr2line的使用
- addr2line命令使用
- linux调试----addr2line使用
- linux调试----addr2line使用
- android addr2line使用
- android listview用法
- cmake
- Redis 详解
- 部署web应用于云服务器上
- Aandroid截屏遇到SurfaceView
- 使用addr2line分析代码错误
- java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream vaadin+gradle+intelliJ
- 利用Bio.Cluster进行聚类
- 6. ZigZag Conversion
- freeimage 图像转char*
- C:m围圈报数,报到n的人出列,循环报数,求最后剩的那个人
- 树莓派学习札记(二)
- Git常用命令
- 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例