sos

    1熱度

    2回答

    如通過以下sos命令發現的,.NET類堆中存在許多對象。 !dumpheap -stat -type MyClass Statistics: MT Count TotalSize Class Name 00007ff8e6253494 1700 164123 MyNameSpace.MyClass 我需要找到那些具有更大的ObjSize然後5 MB對象的實例。我知道我可

    0熱度

    1回答

    在託管代碼中使用SOS或SOSEX進行調試時,可以使用!mbm *!* GetSubscription設置斷點,例如,是否有任何方法可以獲取方法名? 示例: bp 8373772「.printf \」methodname \「; gc」。 這個想法是讓類似wt -l命令那樣執行方法的名字。

    0熱度

    1回答

    我有簡單的控制檯應用程序(目標框架4.5.2): using System; public class SosTest { public class Foo { public Foo() { Console.WriteLine("Creation of foo"); } } static void M

    1熱度

    2回答

    當我嘗試使用Windbg中的.load命令加載擴展名(如sos或psscor4)時,它表現出我沒有想到的行爲。所以,這可能只是一個設定我的期望正確的問題。 例如,當我說: 0:00> .load "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll" 它抱怨如下: 的調用 調用LoadLibrary(C:WindowsMicrosof

    1熱度

    1回答

    我在Bart de Smet的視頻演講中看到,他在Visual Studio調試器中以調試模式運行項目時,通過在Visual Studio中的立即窗口中鍵入Windbg命令。 所以,我想自己試試。因此,這裏是我所做的: 我去項目屬性對話框,然後選擇調試選項卡,然後檢查了在啓用原生代碼調試啓用調試器部分。 我設置在所述線路中的一個斷點,然後通過按F5與調試啓動了項目。當遇到斷點時,我打開立即窗口並鍵

    1熱度

    1回答

    我的託管進程的GC堆轉儲顯示,除了其他類型外,還有大量的大型字符串對象。 我看準了他們夫婦。 > dumpheap -type System.String > !do <address> 那告訴我什麼該字符串的內容,除其他事項外,我是不是很感興趣 所以,我跟隨字符串到它的GC根目錄。但首先,我想確認它是在LOH上。 > !gcwhere <address> > !gcroot <addre

    1熱度

    1回答

    我在實時調試會話中調試Microsoft Word。該進程加載了一些託管加載項,所以我使用sos和psscor4。 winword.exe進程是一個32位進程,但是託管加載項將MSIL作爲PlatformArchitecture枚舉的值,這意味着它們被編譯爲在任何平臺上進行JITT。 我正在使用Windbg(x86)。 只要從C:\ Windows \ Microsoft.NET \ Framew

    4熱度

    1回答

    我們有一個使用異步/等待模式的複雜ASP.Net核心應用程序。該應用程序最近停止響應,我們爲它做了內存轉儲。我們懷疑有一些異步操作會導致應用程序停滯不前,但不知道是哪一個。在爲Web應用程序進行內存轉儲後,由於使用async/await,線程返回到線程池,因此可以看到很少的正在運行的線程。 問題是,是否有可能在內存轉儲中列出正在運行的任務以及它們運行的​​位置,以便我可以確定哪些異步操作會使應用程

    1熱度

    1回答

    我在Ruby中製作了Tic-Tac-Toe遊戲。下面的方法檢查垂直列中的勝者。 我該怎麼做才能使這種方法適用於不同尺寸的板子,比如4x4,6x6? def vertical_check(array) result = nil if (array[0][0] == "X" && array[1][0] == "X" && array[2][0] == "X") ||

    0熱度

    2回答

    我做了一個手電筒應用程序,現在我想添加sos莫爾斯電碼閃爍。這是我的代碼,但它沒有工作得很好,它閃爍得太快,所以我需要某種延遲,任何人都可以幫忙嗎? public void sos(View v) { String myString = "111000111"; Handler handler = new Handler(); for (int x = 0; x