From: Akihiko Odaki <[email protected]> Prcb may be set to 0 for some CPUs if the dump was taken before they start. The dump may still contain valuable information for started CPUs so don't abandon conversion in such a case.
Signed-off-by: Akihiko Odaki <[email protected]> Reviewed-by: Viktor Prutyanov <[email protected]> Message-id: [email protected] Signed-off-by: Peter Maydell <[email protected]> --- contrib/elf2dmp/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/elf2dmp/main.c b/contrib/elf2dmp/main.c index 89f0c69ab0f..6d4d18501a3 100644 --- a/contrib/elf2dmp/main.c +++ b/contrib/elf2dmp/main.c @@ -316,6 +316,11 @@ static int fill_context(KDDEBUGGER_DATA64 *kdbg, return 1; } + if (!Prcb) { + eprintf("Context for CPU #%d is missing\n", i); + continue; + } + if (va_space_rw(vs, Prcb + kdbg->OffsetPrcbContext, &Context, sizeof(Context), 0)) { eprintf("Failed to read CPU #%d ContextFrame location\n", i); -- 2.34.1
