1. 程式人生 > >Visual Studio的輸出視窗上輸出除錯資訊的函式

Visual Studio的輸出視窗上輸出除錯資訊的函式

Visual Studio的輸出視窗上輸出文字的函式

當你編寫非控制檯程式時,比如GUI程式,像std::coutprintf()這樣的函式,就無法使用了,(不是使用了,程式就編譯不了,是可以通過編譯的,只是你不會看到這些函式打印出的資訊。)
Visual Studio給我們提供了一個“控制檯” — 輸出視窗。我們要使用什麼函式才能將除錯資訊列印到輸出窗口裡面呢? 看看下面的方法吧

程式

#include "atlbase.h"
#include "atlstr.h"

void OutputDebugPrintf(const char* strOutputString,...)
{
    char
strBuffer[4096]={0}; va_list vlArgs; va_start(vlArgs,strOutputString); _vsnprintf_s(strBuffer,sizeof(strBuffer)-1,strOutputString,vlArgs); //vsprintf(strBuffer,strOutputString,vlArgs); va_end(vlArgs); OutputDebugString(CA2W(strBuffer)); } int main(){ int i = 10; OutputDebugPrintf("I'm %d years old.\n"
, i); while(1){} return 0; }

OutputDebugPrintf()這個函式的使用方法,和printf()函式一樣。

配置

對著專案,點選滑鼠右鍵,開啟屬性

這裡寫圖片描述

選擇配置屬性 -> 常規 。 將字符集 設定為使用Unicode字符集

這裡寫圖片描述

執行結果

這裡寫圖片描述

程式解釋

#include "atlbase.h"
#include "atlstr.h"

這兩個標頭檔案是給這個CA2W()巨集函式準備的。這個巨集函式的功能是:將ANSI character string轉化為Unicode character string的函式。

相關推薦

Visual Studio輸出視窗輸出除錯資訊函式

Visual Studio的輸出視窗上輸出文字的函式 當你編寫非控制檯程式時,比如GUI程式,像std::cout 和 printf()這樣的函式,就無法使用了,(不是使用了,程式就編譯不了

(轉)Visual Studio控制臺程序輸出窗口一閃而過的解決方法

應該 bsp without pause 是你 color sta 工程 一閃而過 背景:熟悉visiual studio工具的使用 剛接觸 Visual Studio的時候大多數人會寫個Hello World的程序試一下,有的人會發現執行結束後輸出窗口會一閃而過,並

Visual Studio 2017中使用SourceLink除錯ASP.NET Core原始碼

背景 當我們在學習ASP.NET Core或者除錯ASP.NET Core程式的時候,有時候需要除錯底層程式碼,但是當我們在Visual Studio中除錯程式的時候,由於一些基礎庫或者第三方庫缺少pdb檔案,所以除錯這些庫的程式碼的時候,會出現斷點不能進去的情況。 例如,在如下程式碼中,我們希望除錯

OpenCV 在C#下的版本EmguCV 3.3.0在Visual Studio 2017 下的安裝除錯

Emgu CV是基於opencv的庫在C# 下再次封裝的庫。可以方便的在C#下除錯。 第一次執行發現不是一次成功,在此記錄除錯方法,供日後參考。 按照其官網文件說明,安裝後,找到Emgu\emgucv-windesktop 3.3.0.2824\Solution\Windows.De

visual studio code快速生成Html頭部資訊和程式碼補全

Child: > nav>ul>li <nav> <ul> <li></li> </ul> </nav>

Visual Studio Debug 教程 之 遠端除錯

有陣子沒有更新這個主題,可能讓大家誤認為已經結束了,其實除了這一篇,後續還會有一些。 還是儘量本著善始善終的原則,我要把這個主題給講完,並且在結束的時候一定會讓大家知道的。 通過大家的反饋來看,這個系列確實也幫助到了不少的人,另外我自己在這個過程中,也對

winform 把視窗的全部資訊生成PDF檔案顯示

 using System; using System.IO; using System.Text; using System.Collections; namespace PDFGenerator  { //生成pdf的類 public class PDF

visual studio 2005 ASP.net 斷點除錯方法

下面有從淺入深的6個問題,您可以嘗試回答一下 一個如下的語句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什麼都寫在一行,你怎麼在j=5前面插入斷點 在一個1000次的迴圈體內部設定斷點,你希望當迴圈進行到900次後中斷,怎麼才能做到呢?

關於VS2017 已啟用 Visual Studio 中的 Chrome 指令碼除錯解決辦法

轉至:http://blog.csdn.net/lilinoscar/article/details/79114721 每當除錯專案時,都是重新開啟一個瀏覽器視窗,而且關閉除錯後,也會關閉視窗,很麻煩,如下圖: 如何關閉Chrome指令碼除錯呢? 解決辦法:

Visual Studio 2013 或VS2015 無法除錯Revit外掛程式碼的解決辦法

有些開發者在用VS2013 或VS2015除錯外掛程式碼時,發現無法跟蹤除錯。 但是在VS2010,VS2012下沒有問題。一個可能的原因是Revit載入的其它外掛的一個相容性的問題。 VS2013由於引進了新的一些除錯功能,導致對舊的一些除錯模式不支援了。嚴格的是說是VS新

Visual Studio 即時視窗

您可以在設計時使用“即時”視窗來執行函式或子例程。在設計時執行函式將下列程式碼複製到 Visual Basic 控制檯應用程式中:Module Module1 Sub Main() MyFunction(5) End Sub Function MyFunction(

Visual Studio 屬性視窗 和 錯誤列表視窗

屬性視窗 點選 檢視 | 屬性視窗 即可開啟。 該視窗預設是開啟的。 這個視窗顯示了在其上面的視窗中,所選項的其他資訊。 例如,選擇專案中的 Program.cs 檔案,就會顯示如下圖的資訊:

Visual Studio控制檯程式輸出視窗一閃而過的解決方法

      剛接觸 Visual Studio的時候大多數人會寫個Hello World的程式試一下,有的人會發現執行結束後輸出視窗會一閃而過,並沒有出現Press any key to continue的字樣。無論是在Visual Studio 2008、2010還是2012中都有這種情況出現,有些人可能會

Visual studio如何使用“呼叫堆疊視窗”檢視除錯資訊

如何:使用“呼叫堆疊”視窗 使用“呼叫堆疊”視窗可以檢視當前堆疊上的函式或過程呼叫。 “呼叫堆疊”視窗顯示每個函式的名稱以及編寫它所用的程式語言。 函式或過程名稱可能包含可選資訊,如模組名稱、行號、引數名稱、型別和值。 可以開啟或關閉這些可選資訊的顯示。 一個黃

Visual Studio 除錯小技巧-從檢視視窗得到更多資訊

在使用Visual Studio開發除錯程式時,我們經常需要開啟檢視視窗(Watch)來分析變數。有時在檢視視窗顯示的內容不是很直觀。為了能從檢視視窗的變數中得到更多的資訊,我們需要一些小的技巧。下面是幾個例子。1. Windows訊息在開發除錯介面程式時,我們經常需要檢視訊

向VS的Output視窗輸出除錯資訊

要求: Debug版輸出,Release版不輸出。 相容Unicode版本。 /* 1. 需要標頭檔案windows.h和tchar.h */ #ifdef _DEBUG void XdPrint(_TCHAR* format, ...) { va_list args;

vs2010在輸出視窗輸出除錯資訊

有個時候,我們需要檢視析構除錯資訊,一般都會去掉system(“pause”),而想在除錯視窗檢視除錯資訊,根據網上有些人的步驟,新增標頭檔案“windows.h”,使用函式OutputDebugString(L"i

Android Studio連線華為手機除錯沒有輸出自己的日誌資訊

買了一臺新的華為手機,連線Android Studio後,發現Android Monitor下面沒有輸出自己在程式裡設定的日誌資訊,經一番查詢,原理需要在真機上如下設定: 手機撥號*#*#2846579#*#*,進入projectmenu--後臺設定--LOG設定--L

visual studio code 輸出亂碼

簡體 ansi img blog -1 運行 code gbk images 問題: 解決方法: 首先,這個與VS本身無關,問題是出現在windows的dos顯示設置上。 如何解決這個問題? 1.打開運行

EF Core如何輸出日誌到Visual Studio輸出窗口

comm per data tab level nis 通過 start 所有 我們在使用EF Core的時候,很多時候需要在Visual Studio的輸出窗口中知道EF Core在後臺生成的SQL語句是什麽,這個需求可以通過自定義EF Core的ILoggerFacto