VC中用到的几种调试输出TRACE的方法及其区别

摘要:
最近,有几种方法被用来调试VC程序。总结如下:1.在VC中,调试版本使用TRACE将跟踪打印到调试窗口。使用Microsoft的调试工具Dbgview。exe来查看跟踪的输出,可以从VC环境中分离出来。此方法与第一种方法的区别在于,您可以离开VC环境,并使用TRACE接受程序打印的消息。用户可以是程序测试人员,在测试时捕获程序错误的日志,以便程序员可以分析原因。在某种程度上,这是为了扩大跟踪的使用。实现了一个简单的类来将跟踪输出到文件。

最近一段陆续用了几种调试VC程序的方法。一般程序也肯定会使用到这几种方法。

现在总结如下:

1.在VC里面debug版本用TRACE自己打印trace到调试窗口。

局限就是,不能脱离了vc的环境进行调试。使用者只能是程序编写者来进行调试。

2。利用微软的调试工具Dbgview.exe,来看trace的输出,可以脱离vc的环境。

此方法与第一种的不同是,可以脱离VC环境,自己接受程序利用TRACE打印的消息。使用者可以是程序测试人员来进行测试时,抓取程序出错时的log,供编写程序者分析原因。

这个在一定程度上来说是扩大了trace的使用范围。

3。自己在code里面嵌入code,把trace输出到文件里面去。

这个最麻烦,需要在自己的程序里面加入专一记录程序运行状态的code,最终把这些log,记录到文件code。其实也不麻烦,我的blog里面发表了关于这个方面的文章。实现了一个简单的类,来输出trace到文件。使用很简单,code也很少。

这个可以由客户来进行产品的测试,你不可能要求客户去打开DbgView去抓log给你的,但是你可以要求客户把电脑上的那个log文件发给你。所以,就可以利用这种方法来保存程序运行过程中,出现的问题。因为客户的环境,操作等等原因可能影响程序。所以看这个log文件来分析问题是最好不过的。

前两种是的好处是,不需要为了调试改变code。只是用trace就可以了。

免责声明:文章转载自《VC中用到的几种调试输出TRACE的方法及其区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在GNOME中使用Global Menu在git bush中如何退出vim编辑器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

嵌入式Web服务器BOA移植

BOA工作流程: 1.修正BOA服务器的更目录。 View Code static void fixup_server_root() { if (!server_root) { #ifdef SERVER_ROOT server_root = strdup(SERVER_ROOT); if (!server_roo...

LLDB调试基本使用

  在平时开发中,我们可能需要调试某些东西,比如查看给服务器发请求时传过去的参数,如果不适用LLDB的话我们用的最多的就是通过NSLog方式去打印,但现在我们可以精简这个步骤,那就是使用LLDB调试命令.   Xcode从4.0开始编译器开始改用LLVM,相应的调试器也从gdb改为LLDB。而从 Xcode5.0开始所有工程也被自动设置为使用LLDB。  ...

GDB堆栈跟踪与汇编调试

GDB堆栈跟踪与汇编调试 堆栈跟踪 源代码: 对预先编写的 stack.c 文件进行编译,并且使用 CGDB 进行调试,对堆栈进行跟踪,了解该代码堆栈是如何变化的。 在 CGDB 中,先设置 main 断点,接着运行(run),使用 frameinfo frame 分别查看当前栈帧的简要信息,以及该栈帧的详细信息。其中: frame 打印出的信息:...

MATLAB调用C程序、调试和LDPC译码

MATLAB是一个很好用的工具。利用MATLAB脚本进行科学计算也特别方便快捷。但是代码存在较多循环时,MATLAB运行速度极慢。如果不想放弃MATLAB中大量方便使用的库,又希望代码能迅速快捷的运行,可以考虑将循环较多的功能采用C编写,MATLAB调用。本文将概述这一过程。虽然本文以LDPC译码算法为例,但不懂该算法不影响本文阅读。 1. 起因    ...

VSCode, 当今最流行的免费开源代码编辑器,微软出品,必属精品

什么是VSCode? Visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,并且可用于Windows,macOS和Linux。它内置了对JavaScript,TypeScript和Node.js的支持,并具有丰富的其他语言(例如C ++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unit...

centos7.6下定时监测MySQL进程终止后自动重启的方法

前言 最近发现MySQL服务隔三差五就会挂掉,导致我的网站和爬虫都无法正常运作。自己的网站是基于MySQL,在做爬虫存取一些资料的时候也是基于MySQL,数据量一大了,MySQL它就有点受不了了,时不时会崩掉,虽然我自己有网站监控和邮件通知,但是好多时候还是需要我来手动连接我的服务器重新启动一下我的MySQL,这样简直太不友好了,所以,我就觉定自己写个脚本...