随笔分类 - 程序调试
结合file和iconv命令转换文件的字符编码类型
摘要:http://hi.baidu.com/netwrom/blog/item/8885f31ef0d09ae7e1fe0b1c.html在很多类unix平台上都有一个iconv工具,可以用来转换字符编码;而对于普通的文本文件,file命令可以用来检测某个文件的字符编码类型,结合两者就可以非常方便地把一个未知编码类型的文本文件用某一指定编码类型进行编码。 例如,linux内核源代码的某些文件编码就不是用ASCII编码的(貌似跟有些hacker“怪样”的姓名有关),例如:$ cd /path/to/linux-2.6.17$ file kernel/sys.ckernel/sys.c: ISO-8.
阅读全文
让程序崩溃时产生coredump
摘要:Core Dump[ 2010-01-06 13:38:30 | 作者:yuhen]在 Windows 下我们已经习惯了用 Windbg 之类的工具调试 dump 文件,从而分析并排除程序运行时错误。在 Linux 下我们同样可以完成类似的工作 —— Core Dump。我们先看看相关的设置。$ ulimit -a core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (b...
阅读全文
学会使用svn:externals
摘要:最近在与人合作的项目中使用了Zend Framework。为保证项目稳定性和方便发布,合作者把框架导出(export)到他的版本库然后提交(check in)。因为ZF框架的文件大量频繁的更新,他放弃了从框架版本库导出(export)的本地版本库同步到版本控制服务器上的办法,每次更新框架的时候都从版本库中删除框架然后重新添加,这在我看来是在是低效的,特别是考虑到这会让他从开发分支合并到产品分支非常困难。(删除并重新添加目录会在一定成都影响合并)我想会有更好的办法。曾经听说过svn:externals属性,但是从来没有使用过。既然有这个属性,肯定有一个适合运用他的条件。问题是SVN电子书中svn
阅读全文
Linux环境下的C/C+基础调试技术2——程序控制
摘要:Author:gnuhpcWebSite:blog.csdn.net/gnuhpc1.让程序停下来的三种模式断点(breakpoint):让程序在特定的地点停止执行。观察点(watchpoint):让程序在特定的内存地址(或者是一个涉及多个地址的表达式)的值发生变化时停止执行。注意,你不能给一个尚没有在栈帧中的表达式或变量设定观察点,换句话说,常常在程序停下来后才去设置观察点。在设定观察点后,栈帧中不存在所监控的变量时,观察点自动删除。捕捉点(catchpoint):让程序在发生特定事件时停止执行。注:GDB文档中统称这三种程序暂停手段为breakpoint,例如在GDB的delete命令的帮
阅读全文
Linux环境下的C/C++基础调试技术1——初步了解
摘要:Linux环境下的C/C++基础调试技术1——初步了解Author:gnuhpcWebSite:blog.csdn.net/gnuhpc1.调试技术的几个准则惊喜准则:找到错误是一种惊喜,心理上不要畏惧而是要怀着感恩的心去面对。从小处开始准则:刚开始测试的使用从小处着手,暂时不涉及边界数据,虽然这样可能会掩盖一些Bug,但是这样或许能查到最主要的Bug,例如你的程序包含了一个巨大的循环体,最容易发现的Bug在第一个循环或第二次循环执行的时候。自顶向下准则:优先选择step over而不是step into,以节省时间。Segmentation Fault准则:出现段错误时,第一个想到的不应该是
阅读全文
浙公网安备 33010602011771号