使用DebugView工具调试和观察程序运行的基本方法

本文由Markdown语法编辑器编辑完成。

1. DebugView的介绍:

DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output generated by standard debug print APIs, so you don’t need a debugger to catch the debug output your applications or device drivers generate, and you don’t need to modify your applications or drives to use non-Windows debug functions in order to view its debug output.

正如DebugView的官方文档介绍的那样,DebugView是一个让开发者可以在自己本地的机器,或者是任意一个可以通过TCP/IP协议访问到的电脑上监视调试输出的应用程序。Debugview 可以捕获程序中由TRACE(debug版本)和OutputDebugString输出的信息。支持Debug、Release模式编译的程序(即该软件捕获的是exe直接运行时,抛出的信息,而不是Visual Studio调试时的),甚至支持内核程序,而且能够定制各种过滤条件,让你只看到关心的输出信息,而且可以定制高亮显示的内容等等,非常方便。

2. 需求与应用

2.1 需求

一个工具软件被得到关注和应用,必然是它解决了用户在某一时刻下特定的需求而导致的。

之前只是知道我们项目经理在调试系统问题的时候会用这个工具,但是一直也没有机会应用。但是,我最近在测试医保组件接口时,由于医保接口的传入和传出数据类型是BSTR类型,而传入的数据类型是QT中的QString类型。因此涉及到了从QString向BSTR类型的转换。

但是当数据转换后,将转换后的数据传入医保结算的Divide接口后,发现输出的结果始终和预期不同,并且提示传入的数据不正确,导致
分解错误。

这时我遇到了问题,就是我需要知道程序运行时,正在传入接口的BSTR类型的数据是什么样子的?经过同事的提醒,让我用DebugView查看一下。

经过一番配置后,我终于从DebugView的监视窗口里看到了传入接口前的数据。而传入的数据果然和我预期传入的数据不相同,因此得到错误的结果也是很自然的一件事情了。

2.2 应用

参考链接:
1. DebugView调试入门
http://blog.csdn.net/jiankunking/article/details/44984487

你可能感兴趣的:(C++,技术问题和解决,Tools)