callstack

    0热度

    1回答

    是否有可能使DebugDiag Analysis提供像windbg'kp'命令一样的堆栈跟踪信息? 即“京都议定书”有源文件路径,行号和参数值 (我已经证实了一个有效的DMP,我们的符号服务器正确仪器DMP在WinDbg中) 感谢

    3热度

    1回答

    问题: 我有记录从一个服务器上的文件,其中包含从抛出的错误,引发该日志文件的创建调用堆栈。服务器应用程序使用nodejs编写在typescript中,但是将gest转换为javascript,并且javascript代码使用google闭包编译器进行混淆处理。现在我的调用堆很难解释,我试图通过去混淆js代码来改变,使用闭包编译器创建的源映射,然后再次使用源映射,将js调用堆“untranspile

    4热度

    1回答

    我有一个包含一些字段的类。我需要通过值来比较这个类的实例,所以我相应地定义了GetHashCode和Equals。因为类允许循环引用,所以我需要一种避免无限递归的机制(有关更详细的解释,请参阅Value-equals and circular references: how to resolve infinite recursion?)。 class Foo { public stri

    1热度

    1回答

    我正在尝试使用WinDbg调试一款名为“Ballmaster”(其源代码不具备)的非常古老的游戏。当显示对话框时,我将WinDbg附加到游戏中,以便UI线程的调用堆栈不会更改。 这里是正在运行的线程的列表: 当我点击Ballmaster线程,以下调用堆栈,提出: ntdll!NtDelayExecution + 0xc KERNELBASE!SleepEx + 0x99 KERNELBASE!

    1热度

    1回答

    我想了解在更好的细节的最大堆栈帧/大小。 function computeMaxCallStackFrames() { try { // // <Variable part here> // return 1 + computeMaxCallStackFrames(); } catch (e) { // Call st

    0热度

    1回答

    我的问题是,就像我在标题中提到的那样,我有一个函数,返回时会导致SIGABRT被引发。我在我的程序中运行了valgrind,并且在那个确切点上得到了这个结果。 ==5807== Process terminating with default action of signal 6 (SIGABRT) ==5807==    at 0x52F5428: raise (raise.c:54) ==

    4热度

    1回答

    背景信息:我有一个函数直接和间接地通过其他函数调用自己,并且想要一个便宜的方法在程序用完调用堆栈时优雅地失败。我可以手动计算通话次数,但我希望获得更优雅,更可靠的方法。 使用稳定的Rust可以确定当前的调用堆栈深度吗? 我能找到的唯一选项是: 继ASM堆栈,但它需要不稳定,不便于携带。 使用GNU libc扩展(回溯)。但是,回溯太浪费,也不是标准。

    2热度

    2回答

    这是delete this辩论的变体,与中间方法调用发生了什么。 基本上,如果方法A调用方法B,并且方法B销毁该对象,那么从B返回时方法A中会发生什么特别的事情?事情是这样的: struct test { void A() { B(); // what happens here besides being unable to dereference `this` an

    0热度

    1回答

    我得到一个引发RangeError:最大调用堆栈大小超过 function getUser(userId) { return new Promise((resolve, reject) => { controller.storage.users.get(userId, function(err, user) { if (err) reject(err);

    0热度

    1回答

    我有一个在Linux下运行时遇到困难的多线程进程。但我没有多线程版本pstack(制作别名gstack)。因此,gstack <pid>不提供任何东西。 (a)将gdb附加到已经运行的进程(b)获取单个线程的堆栈跟踪(c)从threadid(如果知道)知道正在运行的进程的线程(d)如何查看堆栈跟踪/调用堆栈正在运行的线程在被卡住的进程中?