您的位置: 旅游网 > 明星 >> 吴磊

操作系统中的应用介绍下

发布时间:2021-10-27 05:29:10

使用GDB提供的frame命令可以定位到发生错误的代码段,该命令后面跟着的数值可以在backtrace命令输出结果中的行首找到。现在已经发现错误所在了,应该将 scanf(\"%d\", input);改为scanf(\"%d\", input);

冲破世俗的障碍 完成后就可以退出GDB了,命令如下: (gdb) quit

GDB的功能远远不止如此,它还可以单步跟踪程序、检查内存变量和设置断点等。 调试时可能会需要用到编译器产生的中间结果,这时可以使用-save-temps选项,让GCC将预处理代码、汇编代码和目标代码都作为文件保存起来。如果想检查生成的代码是否能够通过手工调整的办法来提高执行性能,在编译过程中生成的中间文件将会很有帮助,具体情况如下: # gcc -save-temps foo.c -o foo# ls foo*foo foo.c foo.i foo.s

GCC 支持的其它调试选项还包括-p和-pg,它们会将剖析(Profiling)信息加入到最终生成的二进制代码中。剖析信息对于找出程序的性能瓶颈很有帮助,是协助Linux程序员开发出高性能程序的有力工具。在编译时加入-p选项会在生成的代码中加入通用剖析工具(Prof)能够识别的统计信息,而- pg选项则生成只有GNU剖析工具(Gprof)才能识别的统计信息。 最后提醒一点,虽然GCC允许在优化的同时加入调试符号信息,但优化后的代码对于调试本身而言将是一个很大的挑战。代码在经过优化之后,在源程序中声明和使用的变量很可能不再使用,控制流也可能会突然跳转到意外的地方,循环语句有可能因为循环展开而变得到处都有,所有这些对调试来讲都将是一场噩梦。建议在调试的时候最好不使用任何优化选项,只有当程序在最终发行的时候才考虑对其进行优化。

补气流失怎么办
上海不孕不育医院哪家好
呼和浩特哪家白癜风医院
猜你会喜欢的
猜你会喜欢的