msvc-based stacktrace should also allow to determine the module image path
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- cpp
- Ambito
- operating-systems, tooling
Direzione di ricerca
Inizia individuando l’implementazione dello stacktrace basata su MSVC e verifica come determina attualmente i nomi dei moduli. Esamina IDebugSymbols::GetModuleByOffset, GetModuleNames e RtlCaptureStackBackTrace; il lavoro è completato quando i percorsi delle immagini dei moduli sono inclusi e il caso segnalato di stacktrace vuoto viene gestito senza compromettere il comportamento esistente dello stacktrace.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The current msvc-based stacktrace only determines the module name - not its complete path - contrary to the full featured unixoid implementation. It turns out that this is rather simple to realize and valuable when attempting to analyze application problems by inspecting the referred to image paths. It means that you first calls IDebugSymbols::GetModuleByOffset followed by IDebugSymbols::GetModuleNames using the ImageNameBuffer, ImageNameBufferSize, and ImageNameSize parameters. I'm using this extended information in my own stacktrace implementation.
There is another way of improving the quality of msvc stacktraces related to the problem described capturestackbacktrace-randomly-fails-after-initial. I'm aware that the current stacktrace implementation has eliminated any explicit call of CoInitializeEx, but that does not prevent the user to make such a call. Instead of rewriting RtlCaptureStackBackTrace as suggested in this article, a very simple workaround seems to help here. Before calling RtlCaptureStackBackTrace with a static buffer (128), just call RtlCaptureStackBackTrace with the FramesToCapture equal to just 1 ignoring this stub call, which prevents the potential empty stacktrace situation for the second call.
Would there be interest for a corresponding PULL request?
- Lingua principale
- C++
- Stelle
- 497
- Fork
- 86
- Merge medio
- 8g 20h
- PR unite (30g)
- 3
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di boostorg/stacktrace
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
boostorg/stacktrace#233 ·
-
Ошибка в Inscape Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
boostorg/stacktrace#211 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
boostorg/stacktrace#208 · 6 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
boostorg/stacktrace#197 · 3 commenti ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
boostorg/stacktrace#176 · 1 commento ·
Tutte le issue di boostorg/stacktrace
Issue simili
-
ai_reviewed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ydb-platform/ydb#53869 · 3 commenti ·
-
bug cert blocker needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
project-chip/connectedhomeip#74373 ·
-
[request] tracy/0.14.1 Apertaupstream update
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
conan-io/conan-center-index#31035 ·
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
vllm-project/vllm-ascend#17329 ·