debugview怎么用

debugview怎么用,第1张

DebugView是sysinternals工具集中的一款用来查看调试信息的工具。不管你是内核开发人员还是应用程序开发人员,都会用到这款神器。先简单看看DebugView可以干什么吧。

可以查看应用程序输出的调试信息。

可以查看驱动程序输出的调试信息。

可以查看本地机器的调试信息。

可以查看远程机器的调试信息。

可以根据规则高亮显示。

可以根据关键字过滤。

可以根据关键字搜索。

可以自动显示最新一条记录。

……

功能太多太全了,有木有?心动了吗?快跟我一起来了解下这个神器吧。

如何输出调试信息

应用程序和驱动程序都可以通过对应的API生成调试信息。

非托管应用程序可以通过Win32 API OutputDebugString()输出调试信息。

托管应用程序可以通过System.Diagnostics.Debug.Print()输出调试信息,内部会调用OutputDebugString()。

驱动程序可以通过DbgPrint()或DbgPrintEx()(或者使用KdPrint或KdPrintEx宏)输出调试信息。这两个宏在Debug版里会分别映射到DbgPrint()或DbgPrintEx(),在Release版会映射为空。

下图是一个使用DebugView捕获C++程序和C#程序输出的调试信息的截屏。

示例

基本功能

DebugView有一些值得我们了解的功能,下面列举了一些我用到的功能。

Options ->Show milliseconds 可以精确到毫秒,默认精确到秒。

Options ->Clock time (快捷键 CTRL + T),可以切换时间显示方式。

有时候我们希望知道两条调试信息的时间差(估算某段代码的执行效率的时候),有时候我们希望知道某条调试信息具体的时间点,可以按CTRL + T快速切换。

switch clocktime

Edit ->Filter/Highlight...可以过滤/高亮符合条件的记录。

不相关的调试信息太多,看不过来怎么办?过滤功能可以帮助我们排除无用的调试信息。

所有记录都是黑白的,区分起来太费劲,关键调试信息不够醒目。怎么办?高亮功能可以高亮显示包含特定关键字的调试信息。

点开下面的视频感受下吧!

过滤/高亮功能

使用File ->New Window...可以快速启动DebugView的新实例。如果你需要监听多台机器的调试信息,此功能可能对你有用。

使用Computer ->Connect...可以监视远程计算机的调试信息。

监视远程机器的调试日志

使用此功能,需要注意以下事项:

远端机器上必须以代理模式运行DebugView。可以通过dbgview.exe /a启动代理模式。更多选项,请参考DebugView的帮助文档,或者运行dbgView.exe -h查看。

以代理模式运行的DebugView会监听TCP 2020端口,注意设置防火墙的例外规则。

DebugView可以同时连接并监视多台远程计算机。可以通过Computer->Disconnect来断开与某台计算机的连接。

当前连接的机器名会在标题栏显示,注意看标题栏。

URL Decoder/Encoder:https://meyerweb.com/eric/tools/dencoder/  特别实用的一个用来处理URL编码和解码的小工具,你甚至可以直接将这个页面的源代码保存下来,这样不需要连接上网也可以离线使用。附送的一个隐藏功能就是当你从任何地方拷贝信息过来的时候,它会自动去除拷贝过来的格式化信息,小编自己基本上每天都会使用这个小工具复制粘贴各种信息。

iTerm2是一款完全免费的开源软件,可以完全替代MacOS的终端。iTerms功能强大,使用方便,可以让你轻松且高效地管理和定制化你的工作流程。iTerm2的一些特色功能包括:标签变色,智能选中,自动补齐,全屏展示所有的 tab并支持搜索(Exposé Tabs),丰富的快捷 *** 作等。

Textpad这款工具具有无限制的撤销/重做功能,并且能够编辑超大文件,文件上限是系统虚拟内存大小。

Octotree:https://www.octotree.io/  Github是目前使用最广泛的版本控制工具,然而通过浏览器访问Github的体验并不是那么友好,特别是当我们需要不断地访问不同文件夹里面的文件的时候。Octotree正是这样一款浏览器插件,它提供了类似IDE的便于访问的代码目录树,能够提高我们在Github上工作效率。

Wireshark:这个工具可以用来监控机器上的TCP、HTTP等各层级的网络通信。作为后端开发,如果想看前端发来的请求到底都包含了哪些信息,又没有前端的调试环境的话,使用Wireshark监控HTTP请求是很好的解决方案。自己在程序中发HTTP请求时,也可以使用它来检查发出的HTTP请求是否符合自己的预期。

Mermaid:这个工具可以使用脚本语言直接渲染出流程图、时序图、甘特图,写文档简单快捷。免拖拽,免排版,格式控制统一。脚本也便于存放修改,样式可以复用。还可以使用插件集成如Markdown编辑器,进行实时预览。

spectacle:Mac free source 窗口控制工具,拖拽窗口到屏幕边缘resize,也可以自定义快捷键。用起来跟Windows上面一样。相比较于Moom,SizeUp,Divvy,spectacle支持鼠标拖拽到边缘resize,非常便利。

Tmux:一个虚拟终端可以管理多个会话,窗口和面板。执行 tmux 命令时就开启了一个服务并创建了一个会话,窗口和面板。支持分屏,同时处理多个 *** 作。不受断网影响,避免丢失重要工作进度。方便演示与协作,支持结对编程。

Caniuse:https://caniuse.com/#home   通过这个网站,用户能够查询主流浏览器特定版本对HTML,CSS和JS的支持情况。并且最重要的是它“免费”!

Visual Studio Code:这是微软出品的IDE工具,跨平台(Linux,Mac,Windows)。轻量级内存占用,品质稳定且免费。同时内置Git版本控制功能。值得一提的是插件生态丰富,安装插件简单,通过插件可以增加更丰富的语言支持、主题定制、文本自动格式化等能力。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11525415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存