DebugView 調試入門

參考鏈接:http://blog.csdn.net/jiankunking/article/details/44984487

軟件下載地址:點擊打開鏈接

debugview 可以捕獲程序中由TRACE(debug版本)和OutputDebugString輸出的信息。支持Debug、Release模式編譯的程序(即該軟件捕獲的是exe直接運行時,拋出的信息,而不是Visual Studio調試時的),甚至支持內核程序,而且能夠定制各種過濾條件,讓你只看到關心的輸出信息,而且可以定制高亮顯示的內容等等,非常方便。

程序非常輕量:目前最新的4.81,才4百多k。

軟件運行界面如下:


捕捉Release模式的Win32程序輸出的調試信息,需要選中Capture Global Win32選項:


通過編程輸出一些調試信息到DebugView中,一共有三種方式:

[csharp]?view plaincopy
在CODE上查看代碼片派生到我的代碼片
  1. System.Diagnostics.Debug.Write??
  2. System.Diagnostics.Debugger.Log??
  3. Kernal32.dll中的OutputDebugString方法??
其中:System.Diagnostics.Debug.Write方法僅僅適用于debug模式下編譯出來的exe,其余兩中方法與debug與release模式下編譯出的exe通用。

一、System.Diagnostics.Debug.Write方法(Debug模式生成的exe)

[csharp]?view plaincopy
在CODE上查看代碼片派生到我的代碼片
  1. for?(int?i?=?0;?i?<?50;?i++)??
  2. ??????????{??
  3. ??????????????System.Diagnostics.Debug.WriteLine("測試DebugView!!deg");??
  4. ??????????}??
監聽效果如下:


從上圖可以看到DebugView不僅僅捕獲了一些咱們直接需要輸出的信息,還有一些別的程序的無用信息,那么怎么進行過濾呢?

“Include”表示內容中包含的字符串,“Exclude”則是設置Debug Print內容中不包含的字符串。如在include:“deg”數據。單擊“OK”之后,就會篩選出全部包含“GTA”的內容。如下圖。在分類輸出結果之后,就能較方便地排除和捕獲系統異常情況。Exclude方法也與之相似。具體如下圖:


此時就過濾掉了之前的那些無用信息了。

二、System.Diagnostics.Debugger.Log方法(Debug與Release通用)

[csharp]?view plaincopy
在CODE上查看代碼片派生到我的代碼片
  1. for?(int?i?=?0;?i?<?50;?i++)??
  2. ??????????{??
  3. ??????????????System.Diagnostics.Debugger.Log(0,?null,?"測試DebugView!!release");??
  4. ??????????}??

三、Kernal32.dll中的OutputDebugString方法(Debug與Release通用)

1、引入Kernal32.dll中的OutputDebugString方法

[csharp]?view plaincopy
在CODE上查看代碼片派生到我的代碼片
  1. [DllImport("kernel32.dll",?CharSet?=?CharSet.Auto)]??
  2. ?????public?static?extern?void?OutputDebugString(string?message);??
2、使用:

[csharp]?view plaincopy
在CODE上查看代碼片派生到我的代碼片
  1. <pre?name="code"?class="csharp">?for?(int?i?=?0;?i?<?50;?i++)??
  2. ????????????{??
  3. ????????????????OutputDebugString("測試DebugView!JianKunKing");??
  4. ????????????}??

 

上面說的都是使用DebugView捕獲本地exe程序的信息,那么可不可以用來捕獲服務器上的信息呢? 

四、使用DebugView捕獲服務器信息

1、將DebugView軟件放置到服務器上,在與程序同級目錄:

的地方執行如下的bat命令:

[plain]?view plaincopy
在CODE上查看代碼片派生到我的代碼片
  1. Dbgview.exe?/a?/t?/g?/s??
雙擊bat命令后,效果如下:




點擊同意后,效果如下:


雙擊右下角的圖標,可以看到:


然后在本地機器上啟動DebugView,并通過Connect連接到遠程機器的DebugView,當遠程機器中有調試信息輸出時,本地就會捕獲到,并展示出來:

設置連接ip:


輸入ip:



此時,連接已經建立好了

此處依然以剛才測試【Kernal32.dll中的OutputDebugString方法】中的exe為測試源(即將該exe放置到服務器上,啟動),啟動該exe后,即可檢測到信息如下:


小注:

1、DebugView與log4Net都可用于記錄日志,那兩者有什么區別嗎?

個人感覺log4Net是做日志系統不可缺少的一部分,而DebugView比較適合及時調試,具體的選擇就要看個人了。本文僅僅對于DebugView軟件的基礎使用加以闡述,更多的信息可以參見:DebugView官網

2、遠程服務器啟動命令DebugView軟件的bat命令:點擊打開鏈接

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458627.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458627.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458627.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AJAX只支持字符類數據返回,不支持文件下載

如題轉載于:https://www.cnblogs.com/caicaizi/p/5000363.html

Xcode中指令集相關選項

Xcode中指令集相關選項&#xff08;Build Setting中&#xff09; &#xff08;1&#xff09;Architectures Space-separated list of identifiers. Specifies the architectures (ABIs, processor models) to which the binary is targeted. When this build setting specifies…

DebugView使用筆記

1. 什么是DebugView? 它是Sysinternals公司的系列調試工具。可以捕獲程序中由TRACE()和OutputDebugString輸出的信息。 2. C需要完成哪些工作呢&#xff1f; 將打印的信息用OutputDebugString輸出&#xff0c;示例&#xff1a; [cpp] view plaincopy #include "stdio.h&q…

DebugView的使用[通用匯總]

DebugView是一款免費輔助工具&#xff0c;用來輸出捕捉OutputDebugString()函數輸出的信息等。 1 下載 http://technet.microsoft.com/en-us/sysinternals/bb896647 1.1 介紹DebugView http://www.vcfans.com/2008/11/trace-show-about-a-tool-debugview-sent-a-message-to-tra…

Android 通信 EventBus

參考&#xff1a; Android 框架煉成 教你如何寫組件間通信框架EventBusAndroid EventBus源碼解析 帶你深入理解EventBusAndroid EventBus實戰 沒聽過你就out了快速Android開發系列通信篇之EventBusEventBus是一個publish/subscribe (發布 / 訂閱) 消息的總線&#xff0c;簡化了…

WIFI無線路由器的五種工作模式

http://www.360doc.com/content/12/0814/08/10560798_230064460.shtml

iOS面試題1

而技術開發面試&#xff0c;問一些技術相關的問題是必須的&#xff0c;最新的技術可能人人都趨之若鶩&#xff0c;但有些原理和基礎的也希望都有了解。 這里整理了一些iOS相關的面試題&#xff0c;&#xff08;可能都已經老掉牙&#xff09;但是也想跟大家分享下&#xff01; 如…

高質量JAVA代碼編寫規范

1. Java 命名約定   除了以下幾個特例之外&#xff0c;命名時應始終采用完整的英文描述符。此外&#xff0c;一般應采用小寫字母&#xff0c;但類名、接口名以及任何非初始單詞的第一個字母要大寫。 1.1 一般概念   * 盡量使用完整的英文描述符   * 采用適用于相關領域的…

MFC中繪制動態曲線

參考&#xff1a; http://blog.csdn.net/zang141588761/article/details/50536788 [轉載]MFC中畫直線和曲線 一、畫直線要想在MFC中畫出有顏色的線條&#xff0c;首先就要設置DC的畫筆&#xff0c;我們可以按如下方法來設置畫筆&#xff1a;第一步&#xff1a;在View類中添加…

博客地址 RSS地址

博客地址 RSS地址 OneVs Den http://onevcat.com/atom.xml 破船之家 http://beyondvincent.com/atom.xml NSHipster http://nshipster.cn/feed.xml Limboy 無網不剩 http://feeds.feedburner.com/lzyy 唐巧的技術博客 http://blog.devtang.com/atom.xml Lex iOS notes http://i…

2015.11.27---Java

public class star{public static void main(String[] args) {System.out.print("ha");}}轉載于:https://www.cnblogs.com/supermeimei/p/5001922.html

QT之深入理解QThread

QT之深入理解QThread 理解QThread之前需要了解下QThread類&#xff0c;QThread擁有的資源如下&#xff08;摘錄于QT 5.1 幫助文檔&#xff09;&#xff1a;在以上資源中&#xff0c;本文重點關注槽&#xff1a;start()&#xff1b;信號&#xff1a;started()、finished()&#…

常見人事問題

整體素養的常見問題 一、請你自我介紹一下你自己&#xff1f; &#xff08;面試官目的&#xff1a;深度了解求職者&#xff0c;看求職者基本的溝通和自我認知能力&#xff09; NO: 只說姓名、年齡、愛好等基本的信息后就沒了。只重復簡歷里的內容&#xff0c;如工作經驗就…

springMVC數據封裝成POJO

springMVC把前臺的數據封裝為POJO與struts2的封裝形式不同。struts2需要在控制器聲明需封裝的POJO&#xff0c;而springMVC不需要任何準備工作&#xff0c;只需在相應的方法的參數中加上需封裝的POJO&#xff0c;當用戶提交表單時&#xff0c;springMVC會根據表單中dom元素的na…

QT輸入輸出(四)之 QProcess

QProcess Qt提供了一個QProcess類用于啟動外部程序并與之通信.這個類是異步工作的&#xff0c;而且在后臺執行&#xff0c;這樣用戶界面就可以始終保持響應。 啟動一個新的進程的操作非常簡單,只需要將待啟動的程序名稱和啟動參數傳遞給start()函數即可. 例如&#xff1a; QObj…

iOS 推送 邏輯

推送 階段一&#xff1a;Provider[服務端]把要發送的消息&#xff0c;目的IOS設備標識打包&#xff0c;發送給APNS&#xff1b; 階段二&#xff1a;APNS在自身的已注冊Push服務的IOS設備列表中&#xff0c;查找有相應標識的IOS設備&#xff0c;并將消息發送到IOS設備&#xff1…

正則提取的url中的域名以及替換域名的方法 preg_match()和preg_replace()

<?php //網站的url$url http://www.baidu.com/index.php;//正則表達式$reg /(http):\/\/([^\/])/i;preg_match($reg, $url,$res);/** $res的結果array (size3)0 > string http://www.baidu.com (length20)1 > string http (length4)2 > string www.baidu.com (…

音視頻開發

command s 截模擬器的屏幕 MP.4只是一個容器 H.264 H.263是真正的格式 H.265正在測試中 avi H.264 H.263 視頻解碼&#xff1a;將H.263 H.264轉換為視頻和音頻的格式 視頻編碼&#xff1a; 解碼&#xff1a;硬解碼&#xff1a;GPU做的解碼 CPU做除了圖片以外的&#…

10.11 安裝pod

原文地址&#xff1a;http://www.jianshu.com/p/5fc15906c53a 感謝。 更新升級10.11 cocoapods安裝出問題最簡單的解決方法 這是因為10.11把cocoapods直接干掉了 sudo gem install -n /usr/local/bin cocoapods 再加一句&#xff0c;完美解決 sudo xcode-select --switch /App…

windows任務管理器中的工作設置內存,內存專用工作集,提交大小詳解

通俗的講工作設置內存是程序占用的物理內存(包含與其他程序共享的一部分), 內存專用工作集是程序獨占的物理內存, 提交大小是程序獨占的內存(包含物理內存和在頁面文件中的內存). 注:頁面文件就是存放不在物理內存中的內存,文件路徑一般在C:\pagefile.sys,目的是為了能夠讓更…