callstack

    1熱度

    2回答

    擁有調用堆棧允許代碼執行多年來一直是很多安全問題的根源。堆棧緩衝區溢出可用於利用存儲在堆棧緩衝區中的代碼可以執行的寫入不良的軟件。 我只是想知道是否真的有一個原因,它不是隻是不可執行?爲什麼調用堆棧上的任何東西都需要可執行? 或許有一定的歷史原因

    19熱度

    1回答

    我知道如何設置堆棧大小,這要歸功於: How can I increase the maximum call stack size in Node.js 但是,什麼是默認大小? (即我如何到達phpinfo()的PHP等效值)

    60熱度

    6回答

    當我運行我的代碼時,Node.js拋出"RangeError: Maximum call stack size exceeded"異常導致的遞歸調用過多。我試圖通過sudo node --stack-size=16000 app增加Node.js堆棧大小,但Node.js崩潰時沒有任何錯誤消息。當我沒有sudo再次運行這個時,Node.js打印'Segmentation fault: 11'。有沒

    1熱度

    1回答

    我正在嘗試追查爲什麼我的多線程應用程序崩潰。 因此,我使用SetUnhandledExceptionFilter爲未處理的異常安裝處理程序,然後在處理程序中展開並打印堆棧跟蹤。它的工作..sort of。 我試圖從互聯網上很多例子,但我總是得到這樣的: 1 - 0x00401ecc - Unknown Function 2 - 0x00401e83 - Unknown Function 3 -

    2熱度

    1回答

    我希望能夠生成包含有關函數之間傳遞的數據量的信息的通信/調用圖。 所以例如: 功能1()-----> [對象* PTR] ---->函數2() 這意味着函數1將指針傳遞到一個對象功能2(反之亦然)。但是,如果* ptr指向一個1MB的對象(可以說)。那麼該圖應該是這樣的: 功能1()----> [對象* PTR :: 1MB] ----->函數2() 這將給我們的一個粗略的瞭解看起來如何(以及什麼

    0熱度

    1回答

    我想在函數調用/返回期間使用下面的代碼片段分析Linux程序集堆棧初始化/清除。未初始化的變量是有意的。 #define MAX 16 typedef struct _CONTEXT { int arr[MAX]; int a; int b; int c; }; void init(CONTEXT* ctx) { memset(ctx-

    1熱度

    1回答

    由於地方特性,它簡單而快速有效。 您還可以通過調整一個指針來管理內存,一個有限的資源。 我認爲這是一個絕妙的主意。 誰最先想出調用堆棧的概念? 從什麼時候計算機支持堆棧指令? 有沒有歷史上有意義的論文呢?

    3熱度

    3回答

    我花了大約12個小時看這個代碼,並擺弄它,試圖找出哪裏有遞歸問題,因爲我得到了「最大調用堆棧大小超過「,錯誤,並沒有找到它。有人比我聰明,請幫助我! 到目前爲止,我發現的是,當我將對象,spot,一個circle,對象,問題消失,但是當我使它成爲'點',我得到這個堆棧溢出錯誤。我用friggin'顯微鏡去了pip課,但仍然不知道爲什麼會發生這種情況! var canvas = document.g

    1熱度

    2回答

    假設我有一系列要按順序執行的動畫。如果我這樣做,我是否創建了一個巨大的調用堆棧,消耗的內存超過了必要的? function ch1():void { var someVar:uint; function doThis(); ... ... ch2(); } function ch2():void { var someOtherVar:

    0熱度

    1回答

    我不知道如果我的問題的標題是正確的,但我學習運行時堆棧和我有下面的C代碼: int main() { int a, b, c , x; a = 4; b = 5 c = 6 x = func(a, b, c); return; } int func(int x, int y, int z) { int p, q, r;