2010-04-29 7 views

risposta

11

Questo dovrebbe dare il vostro utilizzo dello stack corrente:

function CurrentStackUsage: DWord; 
asm 
    mov eax, fs:[4] 
    sub eax, esp 
end; 

non ricordo fuori dalla parte superiore della mia testa un modo semplice per ottenere la massima dimensione dello stack in fase di esecuzione, ma è necessario il default valore nelle opzioni del linker.

+0

grazie per la risposta! Sono sorpreso di quanto sia piccolo il valore restituito da questo. indicherebbe che lo stack è al massimo dell'1% utilizzato. è questo numero in byte? –

+0

Sì, restituisce i byte. –

2

VMmap da SysInternals consente di visualizzare graficamente ciascun tipo di memoria utilizzata dall'applicazione, incluso lo stack. Non ti dà l'esatto utilizzo come la funzione nella risposta di Per Larsen, ma può aiutarti a visualizzare l'utilizzo della memoria nelle diverse fasi dell'applicazione.

+0

app interessante; posso imparare qualcosa di nuovo da quello. Grazie! –

Problemi correlati