Als «callstack» getaggte Fragen

Ein Stapel, der Details der von einem Programm aufgerufenen Funktionen nacheinander speichert, sodass jede Funktion nach Abschluss zu dem Code zurückkehren kann, der sie aufgerufen hat.


29
Die maximale Größe des Aufrufstapels hat den Fehler überschritten
Ich verwende eine Direct Web Remoting (DWR) -JavaScript-Bibliotheksdatei und erhalte nur in Safari (Desktop und iPad) eine Fehlermeldung. Es sagt Maximale Call-Stack-Größe überschritten. Was genau bedeutet dieser Fehler und stoppt er die Verarbeitung vollständig? Auch irgendein Fix für den SafariBrowser (Eigentlich auf dem iPad Safari, heißt es JS: Die Ausführung …

6
Erläutern Sie das Konzept eines Stapelrahmens auf den Punkt gebracht
Es scheint, dass ich auf die Idee des Aufrufstapels im Design von Programmiersprachen komme . Aber ich kann keine anständige Erklärung dafür finden (wahrscheinlich suche ich einfach nicht hart genug), was ein Stapelrahmen ist. Deshalb möchte ich jemanden bitten, es mir in wenigen Worten zu erklären.
200 callstack 

2
Wie kann ich eine Ausnahme in Javascript erneut auslösen, aber den Stapel beibehalten?
Angenommen, ich möchte in Javascript eine Bereinigung durchführen, wenn eine Ausnahme auftritt, aber die Ausnahme den Stapel weiter verbreiten, z. try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); Das Problem mit diesem Code besteht darin, dass das Abfangen und …

13
Aufrufstapel in C oder C ++ drucken
Gibt es eine Möglichkeit, den Aufrufstapel in einem laufenden Prozess in C oder C ++ bei jedem Aufruf einer bestimmten Funktion zu sichern? Was ich vorhabe, ist ungefähr so: void foo() { print_stack_trace(); // foo's body return } Wo print_stack_tracefunktioniert ähnlich wie callerin Perl. Oder sowas: int main (void) { …
120 c++  c  linux  callstack 


7
Wie genau funktioniert der Callstack?
Ich versuche ein tieferes Verständnis dafür zu bekommen, wie die Low-Level-Operationen von Programmiersprachen funktionieren und insbesondere wie sie mit dem Betriebssystem / der CPU interagieren. Ich habe wahrscheinlich jede Antwort in jedem Stack / Heap-bezogenen Thread hier auf Stack Overflow gelesen und sie sind alle brillant. Aber eines habe ich …


4
Werden Stapelvariablen durch das GCC __attribute __ ((ausgerichtet (x))) ausgerichtet?
Ich habe den folgenden Code: #include <stdio.h> int main(void) { float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0}; printf("%p %p %p %p\n", &a[0], &a[1], &a[2], &a[3]); } Und ich habe folgende Ausgabe: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Warum ist die Adresse von a[0]kein Vielfaches von 0x1000? Was genau __attribute__((aligned(x)))macht das? Ich …


17
Wie funktioniert der Stack in Assemblersprache?
Ich versuche gerade zu verstehen, wie der Stapel funktioniert, daher habe ich beschlossen, mir eine Assemblersprache beizubringen. Ich verwende dieses Buch: http://savannah.nongnu.org/projects/pgubook/ Ich benutze Gas und entwickle unter Linux Mint . Ich bin etwas verwirrt von etwas: Soweit mir bekannt ist, ist ein Stack einfach eine Datenstruktur. Ich ging also …

10
Node.js - Maximale Aufrufstapelgröße überschritten
Wenn ich meinen Code ausführe, löst Node.js eine "RangeError: Maximum call stack size exceeded"Ausnahme aus, die durch zu viele rekursive Aufrufe verursacht wird. Ich habe versucht, die Stapelgröße von sudo node --stack-size=16000 appNode.j um zu erhöhen , aber Node.js stürzt ohne Fehlermeldung ab. Wenn ich dies erneut ohne sudo ausführe, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.