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