callstack

    0熱度

    1回答

    是否有可能使DebugDiag Analysis提供像windbg'kp'命令一樣的堆棧跟蹤信息? 即「京都議定書」有源文件路徑,行號和參數值 (我已經證實了一個有效的DMP,我們的符號服務器正確儀器DMP在WinDbg中) 感謝

    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)如何查看堆棧跟蹤/調用堆棧正在運行的線程在被卡住的進程中?

    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!