Badam plik zrzutu Windows w WinDBG. Mogę zmienić ramkę stosu wywołań za pomocą polecenia .frame, ale odkryłem, że rejestry zawierają zawsze ostatni kontekst. Mam na myśli, jeśli można przywrócić kontekst, który należy do konkretnej ramki stosu wywołań, która nie jest najwyższa?Jak sprawdzić wartość rejestrów na określonej ramce stosu wywołań w windbg
6
A
Odpowiedz
7
Jeśli debugowanie cel x64, można użyć:
.frame /r
Aby wyświetlić rejestry w ramce. Ta informacja jest oparta na odwinięciu danych w obrazie, więc jest całkiem niezawodny. Możesz także zmienić kontekst za pomocą:
.frame /c
Na x86 nie ma informacji o rozwijaniu, więc ta sztuczka nie działa. .frame nadal pokazuje ci coś dla rejestrów, ale nie jest tak prawdopodobne, że jest poprawne (w zasadzie będzie poprawne tylko przez szczęście).
0
Spróbuj findthis.py, który jest swego rodzaju uzyskiwaniem SPI (informacje o ramce wywołania) poprzez rozmontowanie prologu każdej klatki w stacie wywoławczym.
http://nick.luckygarden.org/find-this-ptr-within-a-callstack-in-a-dump-file/
Powiązane problemy
- 1. Szybkie przechwytywanie stosu wywołań
- 2. Natywny stos wywołań Windbg nie ma sensu
- 3. Problemy wyświetlające śledzenie stosu C# w WinDbg
- 4. stosu wywołań w profilera perf
- 5. Windbg, jak sprawdzić uprawnienia segmentu pamięci?
- 6. Programowy dostęp do stosu wywołań w .net
- 7. Jak znaleźć najwyższą wartość w ramce danych?
- 8. RangeError: Przekroczono maksymalny rozmiar stosu wywołań
- 9. Jak określić brakującą wartość w ramce danych
- 10. Jak zamienić wartość NaN na zero w ogromnej ramce danych?
- 11. Nowjs: [RangeError: Maksymalny rozmiar stosu wywołań przekroczyła]
- 12. Określanie aktualnego stosu wywołań (do celów diagnostycznych)
- 13. Meteor: Przekroczono maksymalny rozmiar stosu wywołań
- 14. Brak stosu wywołań w wyjątku w kodzie X 4
- 15. jak sprawdzić, czy emacs w ramce lub w terminalu?
- 16. Wartość minimalna ze stosu
- 17. Używanie rejestrów FPU i MMX jako "rejestrów ogólnych"
- 18. Formy sprężyn - jak sprawdzić błąd na określonej ścieżce
- 19. Jak sprawdzić, czy wartość jest na liście?
- 20. Brak wywołań metod w zestawie śladów stosu instrumentów
- 21. Zamień ciąg/wartość w całej ramce danych
- 22. Stos vs. Stert w JavaScript? (Przekroczono maksymalny rozmiar stosu wywołań)
- 23. Sprawdź, czy wartość istnieje w jednej ramce danych, czy nie.
- 24. Jak sprawdzić, czy dokument jest otwarty w ramce IFrame?
- 25. Dodaj nową zmienną do określonej pozycji w ramce danych
- 26. Jak zamienić wartość w ramce danych w R?
- 27. Jak wyświetlić zmienne poziomu kontrolnego VB6 w WinDbg?
- 28. W Django, jak sprawdzić, czy użytkownik jest w określonej grupie?
- 29. WINDBG, jak wyświetlić zawartość tablicy?
- 30. Jak sprawdzić, czy konkretna wartość jest obecna w haszsie?
Rozumiem. Mogę tylko znaleźć rejestry w stosie pośrednio. –