现在位置: 首页 > 软件调试
2016-07-06 06:54 工业·编程 ⁄ 共 1522字 暂无评论
一、lsof 查找系统打开的文件 经典用法。查看进程打开的文件句柄。 案例:我的一个服务进程,运行一段时间后,在64位机器上运行正常,在32位机器上运行不正常。用lsof一看。有打开的文件未关闭,因64位机器默认进程打开文件数是100万,因而没有出现问题。 其他用法。 1、查看某个文件被哪个进程打开。 2、查看某个文件系统被哪个进程使用。 更多用法查看:http://www.ibm.com/developerworks/cn/aix/library/au-lsof.html 二、s...
阅读全文
2016-07-05 06:53 工业·编程 ⁄ 共 3222字 暂无评论
随着XP的流行,人们越来越注重软件的前期设计、后期的实现,以及贯穿于其中的测试工作,经过这个过程出来的自然是高质量的软件。甚至有人声称XP会淘汰调试器!这当然是有一定道理的,然而就目前的现实来看,这还是一种理想。在日常工作中,调试工具还是必不可少的。在Linux下,调试工具并非只有gdb,还有很多其它调试工具,它们都各有所长,侧重方面也有所不同。本文介绍几种笔者常用的调试工具: 1.    &#...
阅读全文
2016-07-03 06:42 工业·编程 ⁄ 共 644字 暂无评论
GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能: 1 在程序中设置断点,当程序运行到断点处暂停 2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显示出来 3 单步执行 4 运行时修改变量的值 5 跟踪路径 6 线程切换 等等   下面以以下程序为例 当我们要使用GDB进行程序的调试时,在用GCC编译时需要加上-g,如下: GDB之所以能够进行程序的调试也是在于进行编译时的-g选项,当...
阅读全文
2015-12-20 21:33 工业·编程 ⁄ 共 1209字 暂无评论
最近使用GDB比较多,发现除了最常用的run、break、continue、next等命令的基本用法外,还有一些非常有用的命令和用法,能让你更加得心应手地使用GDB,在这里做了一下简单的总结。 1. run 当GDB的程序需要带参数运行时,除了使用set args外,还可以直接在run(r)后面带上参数,如下面两种方式是等价的:     2. set follow-fork-mode 有时候会发现GDB无法跟踪到设置的断点,原因可能是需要调试的进程是daemon进程或者fo...
阅读全文
2015-09-29 01:03 工业·编程 ⁄ 共 4923字 暂无评论
人们对手机、笔记本电脑等移动设备的依赖越来越大。一旦电池用尽而又不能立刻充电,便可能把人急得双脚跳。面对类似情况,为了让笔记本电池多支撑一会儿,我会采取两项省电措施:一是把屏幕调暗,二是杀掉特别费电的软件。第一项容易理解,略去不谈。第二项的关键是如何找到高功耗软件。一种简单的方法是调出任务管理器,通过View菜单(Windows 8之前)或者在列表的标题行(Windows 8/8.1)调出图1所示的“选择列”对话框,然后将...
阅读全文
2015-01-11 08:13 工业·编程 ⁄ 共 2340字 暂无评论
Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC,此外,它甚至还有自己的电源按钮。 用下来感觉bochs非常小巧...
阅读全文
2014-11-29 18:22 工业·编程 ⁄ 共 1017字 暂无评论
WinDBG的远程调试由服务端和客户端组成,和visualstudio类似。 被调试的机器是服务端(server), 我们做调试的机器是客户端(client)。 两台机器都需要安装WinDBG。 第一步, 建立WinDBG server 端 使用 -server参数可以使WinDBG以服务器方式启动。 WinDBG可以用多种连接协议让客户端连接,比如命名管道(named pipe),安全管道(secure pipe), TCP协议(socket), SSL协议,串口/并口(COM port)等等。 第二步, 用WinDBG c...
阅读全文
进入调试的方法 1. F5,项目右键菜单->调试->启用新实例     点击项目右键菜单->属性->配置属性->调试,可以设置调试的相关参数:       1)命令:默认是$(TargetPath),就是启动输出的可执行程序       2)命令参数:启动被调试程序时使用的命令行参数。       3)工作目录:启动被调试程序时使用的当前文件夹。影...
阅读全文
2014-08-24 11:02 工业·编程 ⁄ 共 317字 暂无评论
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(562,5): error MSB6006: “mt.exe”已退出,代码为 1。 错误 2 error MSB6006: “mt.exe”已退出,代码为 1。 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 562 6 CMulticastSocket project options, linker, manifest, Generate Manifest-> NO. 解决方法: 项目->属性->链接器->清单文件->生成清单  ...
阅读全文
由于用VS2008+Qt速度有点慢,特别是编译运行的时候要等半天,所以再装了个Qt Creator,用的是Qt SDK-2010.05。 但在Qt Creator编译运行时出现了错误,如下所示: Running build steps for project calculatorform... Configuration unchanged, skipping qmake step. Starting: "E:/Qt.SDK/2010.05/bin/jom.exe" E:\Qt.SDK\2010.05\bin\jom.exe -nologo -j 2 -f Makefile.Debug cl -c -nologo -Zm200 -Zc:wchar_t- -Zi...
阅读全文