Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >debugview使用方法_debugger怎么用

debugview使用方法_debugger怎么用

作者头像
全栈程序员站长
发布于 2022-11-17 03:56:13
发布于 2022-11-17 03:56:13
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

1、什么是DebugView?

DebugView是一个系统调试信息输出的捕获工具。

2、DebugView它能干吗?

可以捕获程序中由 TRACE()和 OutputDebugString()输出的信息。说的具体一点,在程序中使用如下函数:

1)、 OutputDebugString 或者在MFC中使用TRACE

2)、内核模式中使用Out_Debug_String,DbgPrint ,_Debug_Printf_Service

编译程序为DEBUG版本,然后运行程序(注意:不是在vs中运行,是单独运行),打开DebugView 就可以在其中看到输出的调试信息。

3、DebugView初体验:

1)、打开DebugView,然后在菜单栏中选择Computer–>Connect Local,连接本地调试。

2)、了解工具栏几个常用的按钮功能:

过滤器的功能比较实用:include 表示调试信息包含的字符串,exclue 表示不包含的字符串,多个字符串使用“;”号隔开。

3)、测试程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <tchar.h>
#include <stdlib.h>
#include "windows.h"

#define UseDebugView

int main()
{
	int nRepeatTimes = 0;
#ifdef UseDebugView
	do 
	{
		TCHAR _buf[256] = { 0 };
		swprintf_s(_buf, 256, L"KANDY--正在进行第<%d>次连接...\n", nRepeatTimes);
		OutputDebugStringW(_buf);

		nRepeatTimes++;
		Sleep(1000);
	} while (nRepeatTimes < 3);
#endif

	system("pause");
	return 0;
} 

4、DebugView输出的信息:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219238.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MinHook库的使用 64位下,过滤LoadLibraryExW
minHook库是一个支持x64跟x86HOOK的库.Detours也支持x64.不过是收费的所以在x64下使用minHook也是一个不错的选择.
IBinary
2019/05/25
1.8K0
Debugview(VC调试工具)是一款电脑查错调试软件,该工具是程序员调试必备,能在运行程序后将错误提示完整记录在日志文本中,以供直接查看,进行故障修复,快下载使用吧!
地址:https://download.csdn.net/download/qq_38998213/11200282
zhangjiqun
2024/12/16
2050
Debugview(VC调试工具)是一款电脑查错调试软件,该工具是程序员调试必备,能在运行程序后将错误提示完整记录在日志文本中,以供直接查看,进行故障修复,快下载使用吧!
Visual Studio——使用多字节字符集与使用Unicode字符集
VS集成开发环境,字符集选择“使用多字节字符集”和“使用Unicode字符集”的直接区别就是:编译器是否增加了宏定义——UNICODE。当选择“使用Unicode字符集”时,编译器会增加宏定义——UNICODE;而选择“使用多字节字符集”时,编译器则不会增加宏定义——UNICODE。
全栈程序员站长
2022/11/03
4.2K0
beSTORM之DLL Fuzz入门教程
1、beSTORM简介 beSTORM是一款安全评估工具,在开发周期中,供应商可以使用beSTORM全面分析网络软件应用,发现全新和未知的漏洞。 beSTORM通过自动测试数十亿种攻击组合方式,确保产品部署前的安全,为企业节省产品上市后修复安全漏洞产生的成本。 以往的安全评估工具使用攻击签名或失败的攻击定位已知的产品漏洞,beSTORM与这些旧式的安全评估工具不同。 无论在认证测试还是开发生命周期中,供应商均可以使用 beSTORM 来测试产品。该软件能够定制现有模块,并且添加新模块,以直观和易于使用的环境
FB客服
2018/02/24
2.5K1
beSTORM之DLL Fuzz入门教程
【调试】ftrace(一)基本使用方法
Ftrace是Linux Kernel的官方tracing系统,支持Function trace、静态tracepoint、动态Tracepoint的跟踪,还提供各种Tracer,用于统计最大irq延迟、最大函数调用栈大小、调度事件等。
嵌入式与Linux那些事
2023/03/24
2.9K0
【调试】ftrace(一)基本使用方法
【Windows编程】系列第四篇:使用Unicode编程
上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习一些Windows下关于ANSI和Unicode方面的编程基础。 计算机最早在美国诞生,所以最开始都是以英语为作为交互语言,由于只有26个字母,用一个字节(范围-128 ~ 127)表示,这个范围足够表示26个因为字符和一些常用的控制字符,这个就是ASCII编码。因此最早的各种程序设计语言以及使用的字符串都用字
程序员互动联盟
2018/03/13
1.5K0
【Windows编程】系列第四篇:使用Unicode编程
【答疑释惑第三十六讲】Windows下如何调试?
疑惑一 Windows窗口程序到底能不能用printf? 很多小伙伴在控制台下写程序时,要打印或者调试很方便,用printf就可以直接打印输出,方便看结果,但是在编写窗口程序时,由于窗口程序的子系统是Windows,而不是控制台的子系统console,因此非字符模式是不能用printf来输出的,那么到底在窗口模式下能不能用printf呢? 答案是肯定的,但是需要我们自己创建一个控制台终端,可以用Windows提供的API函数AllocConsole来创建一个控制台,以后的输出都是在这个控制台里操作。当然只
程序员互动联盟
2018/03/15
9430
DLL注入
继续学习《逆向工程核心原理》,本篇笔记是第三部分:DLL注入,主要包括三种DLL注入、DLL卸载、修改PE、代码注入等内容
红客突击队
2022/09/29
1.8K0
DLL注入
C语言学习——sprintf函数详细解释及其用法
头文件:   stdio.h 函数原型:   int sprintf( char *buffer, const char *format, [ argument] … ); 参数列表:   buffer:char型指针,指向欲写入的字符串地址。   format:char型指针,指向的内存里面存放了格式字符串。   [argument]…:可选参数,可以是任何类型的数据。   返回值:字符串长度(strlen) 相关函数:   int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format, [argument] … );   int _sprintf_s_l(char *buffer,size_t sizeOfBuffer,const char *format,locale_t locale ,[argument] … );   int swprintf_s(wchar_t *buffer,size_t sizeOfBuffer,const wchar_t *format ,[argument]…);   int _swprintf_s_l(wchar_t *buffer,size_t sizeOfBuffer,const wchar_t *format,locale_t locale ,[argument]…);   template <size_t size>   int sprintf_s(char (&buffer)[size],const char *format, [argument] … ); //仅存在于C++   template <size_t size>   int swprintf_s(wchar_t (&buffer)[size],const wchar_t *format ,[argument]…); //仅存在于C++ 字串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访问错 误,但好在由sprintf 误用导致的问题虽然严重,却很容易找出,无非就是那么几种情况,通常用眼睛再把出错的代码多看几眼就看出来了。
全栈程序员站长
2022/09/23
11.3K1
muduo网络库学习之Logger类、LogStream类、LogFile类封装中的知识点
s1mba
2018/01/03
1.4K0
muduo网络库学习之Logger类、LogStream类、LogFile类封装中的知识点
CrossBridge
本文介绍了CrossBridge和Alchemy分别是什么,以及它们在Adobe Flash Player中的使用。CrossBridge是一个用于将C/C++代码编译成Flash Player插件的工具,而Alchemy是Adobe推出的一款用于创建高性能Flash Player插件的编译工具。使用CrossBridge和Alchemy可以将C/C++代码编译成Flash Player插件,从而在浏览器中运行。
IMWeb前端团队
2017/12/28
1.1K0
反调试技术
继续学习《逆向工程核心原理》,本篇笔记是第七部分:反调试技术,包括一些静态反调试技术和动态反调试技术
红客突击队
2022/09/29
1.3K0
反调试技术
重载 new、delete 检测内存泄露
内存泄露带来的问题我想我就不必多少了,检测内存泄露有很多种方法,比如使用一些智能指针。但本文介绍的方法有些不同,我们将自己维护一个数组列表,记录下 new 内存时代码所在的文件、行号、以及大小、和是否已经被 delete 信息,将这些信息放到我们维护的数组中,当程序要检查内存泄露或者程序退出时,我们遍历整个堆内存,并把每一个堆内存块在我们维护的数组中遍历,如果发现某些内存并没有被标记为 delete 状态,那么则判定为泄露。
我与梦想有个约会
2023/10/21
3010
重载 new、delete 检测内存泄露
CrossBridge
CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整的C/C++开发环境,目的是把C/C++程序编译成Flash程序,运行于Flash Runtime之上。 CrossBridge前身为Alchemy,它提供了一个完整的类似于BSD的C/C++开发环境,基于GCC编译器,可以把C/C++源代码编译成目标Adobe Flash Runtimes程序。使用CrossBridge,可以把现有的大多数C/C++代码移植到Web上。
IMWeb前端团队
2019/12/04
7130
win32程序之窗口程序,以及消息机制
  通过上一讲.我们了解了窗口其实是绘制出来的.而且是不断绘制的过程. 所以窗口的本质是绘制. 但是我们现在看到的窗口程序.都可以点击关闭按钮. 使用鼠标点击会有反应.
IBinary
2018/09/28
1.1K0
win32程序之窗口程序,以及消息机制
windows下,c /c++实现磁盘扫描,结合配置文件,读取特定后缀文件目录代码
http://download.csdn.net/detail/wangyaninglm/8301303
流川疯
2019/01/18
1.7K0
Windows平台下的内存泄漏检测
在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏。 在windows平台下内存泄漏检测的原理大致如下。 1. 在分配内存的同时将内存块的信息保存到相应的结构中,标识为已分配 2. 当内存释放时在结构中查找,并将相应的标识设置为已释放 3. 在需要的位置调用HeapWalk,遍历整个堆内存,找到对应的内存块的首地址,并与定义的结构中的数据相匹配,根据结构中的标识判断是否释放,未释放的话给出相应的提示信息。 另外在VS系列的编译器中如果输出的调试信息的格式为:文件名(行号)双击这样的输出信息,会自动跳转到对应的位置,利用这点可以很容易的定位到未释放的内存的位置。 为了实现上述功能,我们使用重载new和delete的方式。下面是具体的代码:
Masimaro
2018/08/31
1.1K0
【编程基础】Win32窗口下调试输出
在Win32的console下,我们可以用基本的printf,来输出调试信息,这个很方便。不过要是在非console的窗口模式应用程序里面,就不能使用printf来输出,很多朋友遇到过这个问题,非常不方面。 其实在窗口模式下,windows提供了一个函数OutputDebugString,用于向开发环境的debug窗口输出信息,结合C语言的可变参数,就能实现跟printf一样的功能了,下面就是一个简单的采用OutputDebugString封装的调试输出函数,用法跟printf一样: #include <
程序员互动联盟
2018/03/13
1.9K0
HashMap_java的hashcode方法
MurmurHash可以将一个字符串hash出一个碰撞率极低的long型数值,且效率很高
全栈程序员站长
2022/11/02
1930
c++ strstr函数_简述酒精灯的正确使用方法
strstr方法是比较常用的,我在使用的过程中经常会忘掉入参中的两个字符串到底谁是谁的子串,今天记录一下,加深一下印象。
全栈程序员站长
2022/11/04
6970
推荐阅读
相关推荐
MinHook库的使用 64位下,过滤LoadLibraryExW
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验