簡體   English   中英

Debug Assertion Failed:C#應用程序中的C ++異常?

[英]Debug Assertion Failed: C++ exception in a C# application?

我一直在管理和更新特定的應用程序。 它已經老了,我不是原來的開發者。 多年來,它經歷了多次調試,其中包括其他小補丁。

它在過去幾個月里一直運行穩定,但隨后發生了一個例外,這對我來說似乎很奇怪。 因為這只發生在發布模式的服務器上(它是服務器應用程序)。

該應用程序是用C#編寫的,在Visual Studio 2012 Professional中管理,並且由於服務器不幸運行Windows 2003而被發布為顯式32位.NET 3.5。(我試圖說服他們更新,以便我可以更新應用程序到.NET 4.5。但是唉。)

所以我得到一個C ++調試消息。 請參見下面的截圖。 它出現在一個名為vsprintf.c的文件中。我在第91行猜測。唯一給我任何提示的消息是格式!= NULL。

然而,這讓我很困惑。 什么可能導致這種情況? 在這種情況下,我最好采取哪些步驟進行調試? 什么是“vsprintf.c”?

例外

編輯:我設法在eventviewer中找到了一些東西。 我將繼續研究這個問題。

事件查看器

此致

我。

這是一個斷言失敗,即無法滿足您正在調用的函數,在這種情況下指針不為null。 從它的外觀來看,它是一個格式字符串。 你是直接使用格式字符串嗎? 如果是這樣,那就看看吧。 如果沒有,這可能是內存泄漏問題,其次是內存不足故障。

vsprintf調用可能是由sprintf和其他派生引起的,你應該檢查所有這些調用。 (這也可以是字符串類的方法,正如我在VCL中看到的那樣)。

如果錯誤不是由您使用的某個庫引起的,那么格式字符串參數中應該有一個NULL (或0 ),這通常是原型中...之前的最后一個。

如果您熟悉正則表達式 ,那么在查找模式時這可能會有很大幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM