摘要:
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制(1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。(2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此 阅读全文
摘要:
int main(int argc, char *argv[]){ short a = 0xffff; printf("a = 0x%x\n", a); if(a == 0xffff) { printf("Just Test\n"); } return 0;}最后输出的结果是 a = 0xffffffff原因如下:1.%x 表示要输出无符号整数(unsigned int)的十六进制形式2.当有符号类型向更大长度类型转换时,如果首位为1,则前面全部补全为1,如首位为0,则前面全部补全为0预期的打印Just Test不会被打出来,因为:在比较时a被强制转换成 阅读全文