gdb调试过程中出现行号错位
来源:互联网 发布:sql server外键约束 编辑:程序博客网 时间:2024/05/16 18:14
gdb调试过程中出现行号错位的情况,原因一般有两个:
1. 编译器的优化可能把某些语句给优化掉了。
解决这种情况很简单,makefile中-O2这类的编译优化去掉,换成最简单的g++ -g $^ -o $@ $(INCLUDES) $(LIBS)
2.文件格式转换问题。dos格式文件传输到unix系统时,会在每行的结尾多一个^M,造成文件格式混乱,换行错误,由此导致gdb调试中行号错误。
dos,unix格式处理的差别:DOS是回车+换行,而在UNIX下,只有回车,无换行!
用脚本来判断文件是哪种格式:
file filname|grep -qv ^M && echo file is unix formart || echo file is dos formart
其他方式判断文件格式:vim打开
这种有[dos]的为dos文件格式
这种即unix文件格式
解决方式
vi dos.txt
:set fileformat=unix
:w
这样文件就转换成unix格式文件了, 一般在windows机器上编写好了文件传到unix下就可能会出现这样的情况.
用命令:set ff?
可以看到dos或unix的字样.
用:set ff=unix把它强制为unix格式
也可以用sed 这样的工具来做:
sed 's/^M//' filename > tmp_filename
其中^M是同时Ctrl+V+M按出来的,表示回车。
最简单的方式:dos2unix filename
- gdb调试过程中出现行号错位
- GDB调试行号错位
- EasyUI datagrid 左侧行号出现错位
- gdb调试过程中debuginfo-install问题
- Gdb 调试过程
- Gdb 调试过程
- gdb远程调试过程
- gdb调试过程学习
- 解决gdb调试时行号错位--文件格式转换
- 关于在CentOS中使用gdb出现debuginfos调试信息
- gdb调试过程中修改变量的值
- 调试android程序过程中出现:INSTALL_FAILED_INSUFFICIENT_STORAGE
- 调试android程序过程中出现:INSTALL_FAILED_INSUFFICIENT_STORAGE
- 调试android程序过程中出现:INSTALL_FAILED_INSUFFICIENT_STORAGE
- 调试android程序过程中出现:INSTALL_FAILED_INSUFFICIENT_STORAGE
- vc++使用过程中出现问题----调试
- VC中调试程序时光标错位
- 嵌入式 GDB调试示例过程
- Entity Framework First Code 的一些网址
- Tomcat 6.0.36 配置 webservice war 文件
- Unicode宽字符转化
- STM32(Cortex-M3)中的优先级理解
- SQLite 3.7.13的加密解密(七)—— 遗留问题
- gdb调试过程中出现行号错位
- Android开发笔记--隐藏按钮
- Linux LVM管理
- perl 匹配中文
- sugarcrm
- Android平台上开发网络应用的一些常用接口。
- linux下system函数
- NoSQL的总结
- Java性能调优