2010-02-24 53 views
5

任何人都知道如何將標籤或換行符放入斷點的打印消息中,並讓它正確顯示?Visual Studio在斷點打印消息(tracepoint)中插入製表符/換行符?

到目前爲止,我已經嘗試'\ t'和'\ n',它們在調試輸出中給出了相同的結果。我也嘗試過放入4個空格,但是在'When Breakpoint is Hit'對話框中單擊確定後,它們會被刪除。

我使用VS.NET 2008與本機代碼,如果這有所作爲。

謝謝。

回答

2

您可以通過將其包含在大括號中來指定消息中的任何字符。例如,這將在消息中插入新行:{'\n'}。問題在於角色的價值和單引號也會被打印出來。我試圖用各種表達式格式禁用字符值的輸出,但沒有任何幫助。

這是一個有點笨拙的解決方案,但它的工作原理如果你需要將long語句分成幾行。其他角色也可以。但不要把字符串({"\r\n"})。看起來VS調試器只能打印單個字符,而不能打印字符串。

+0

這對我不起作用(使用VS 2012)。所有打印的內容實際上是單引號中字符的字符串表示(''\ n'')。我可以忍受這個事實,這顯示在**另外**到所需的換行符。但是,根本不插入換行符。 – IInspectable 2014-12-08 16:27:06

+0

@Inspectable,你是對的。看來他們修復了它。我試過用VS2013,它不再工作。 – 2014-12-08 23:09:15

0

在VS2010中,您可以粘貼您已複製到「打印消息」編輯框中的選項卡。

0

我能夠創建在跟蹤點輸出一個新行的唯一途徑是如下:

  1. 與用於換行,例如一個佔位符標記創建跟蹤點BREAKME;
  2. 將斷點導出爲XML(另請參閱MSDN How to: Import and Export Breakpoints);
  3. 手動編輯XML,並用CDATA逃生取代BREAKME,新行()你想,而不是標記:

    <![CDATA[ 
    
    ]]> 
    
  4. 從斷點刪除跟蹤點,並重新導入XML。

OTOH,如果你使用後的文本處理的結果,你可以在後期自動更換你的標誌,並保存自己的步驟2-4 ...

免責聲明/披露:我在Microsoft使用Visual Studio,但我不開發Visual Studio本身;我在這裏寫的並不是微軟認可的,只表達我個人的意見,等等。