2011-03-22 57 views
13

我正在用VS2008調試一個C++應用程序,並且有一些長選擇查詢,我無法在調試器中看到全文。它只是顯示查詢的一部分。爲什麼在Visual Studio 2008調試器中部分顯示字符串?

有沒有辦法看到全文?

在此先感謝。

enter image description here

編輯:可在字符串中的真正的查詢是:

select c.cd_seq, m.diag_code, m.diag_descr, 'S' as source 
from custom_booking_data c 
left outer join meddiagnosis m 
on c.cd_number_value = convert(decimal(28, 8), m.diag_urn) 
where c.custom_data_urn = 4 and c.cd_field = 433 
union 
select c.cd_seq, m.diag_code, m.diag_descr, 'H' as source 
from custom_booking_data c 
left outer join ordiagnosis m 
on c.cd_number_value = convert(decimal(28, 8), m.diag_urn) 
where c.custom_data_urn = 4 and c.cd_field = 594 

並不長,如果你問我。

+0

我們在這裏說多久了?我已經瀏覽了10,000-20,000個字符而沒有截斷的東西。在你的情況下,它看起來像是在ATL :: CString中。這是否有正確的長度?也許這個字符串實際上被截斷了。 – 2011-03-22 16:49:44

+1

單擊文本可視化圖標,看起來像一個望遠鏡。如果仍然存在,那麼絕對考慮簡化查詢。 – 2011-03-22 16:56:43

+0

它是一個大約1.000個字符的字符串,是的,它是一個ATL:CString。如何檢查它是否有正確的長度?我知道它的完整查詢,因爲它被執行並且預期的結果被檢索。 – 2011-03-22 16:58:53

回答

0

我認爲你可以右鍵點擊該項目,然後「複製到剪貼板」。然後將其粘貼到其他文本編輯器中。

+1

不,該值也被部分複製。 – 2011-03-22 16:46:37

+0

右鍵單擊調試器中的項目,不要複製文本框中的文本,那就太晚了! – codymanix 2011-03-22 16:50:03

+0

我已經從可能的地方複製它,結果總是被截斷的字符串。 – 2011-03-22 16:56:52

1

請問您的字符串是否包含NUL'\ 0'值?像調試器正在使用的文本框控件將把它們解釋爲字符串的結尾。

+0

不,我檢查了,但查詢在工作聯盟中選擇「union sele」中斷。 – 2011-03-22 17:01:26

2

這似乎是Visual Studio中的一個「功能」。我在使用C#的VS2012中看到了同樣的情況,只有超過500個字符的字符串。

我找到的解決方案是在調試器中右鍵單擊該變量並對其執行「快速監視」。該字符串在快速監視窗口中未被截斷。

+3

對長度超過32768個字符的字符串沒有幫助。 – 2015-12-04 17:36:31

9

懸停在您要查看,然後單擊放大鏡圖標以下圖標,或者選擇右側的箭頭的圖標,然後從下拉菜單中選擇文本

enter image description here

這是變量結果,我想你問這個......

enter image description here

+2

沒有。字符串顯示也被剪切。 – 2015-02-27 12:42:37

+2

事實上,對長度超過32768個字符的字符串沒有幫助。 – 2015-12-04 17:36:15

+0

看起來VS2015在這個表格上可以顯示長度超過32K的字符。應該還有一個限制,但至少比它高。 – ScottRhee 2017-11-10 01:14:55

1

這是一個評論,但確實是我一直在尋找的答案:File.WriteAllText(@"C:\Temp\temp.txt", str)

相關問題