rust-minidump / rust-minidump

Type definitions, parsing, and analysis for the minidump file format.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crashing_thread second frame don't have registers?

anranziruo opened this issue · comments

	"crashing_thread": {
		"frame_count": 209,
		"frames": [{
			"file": null,
			"frame": 0,
			"function": null,
			"function_offset": null,
			"inlines": null,
			"line": null,
			"missing_symbols": true,
			"module": "demo.exe",
			"module_offset": "0x00000000000033d2",
			"offset": "0x00007ff6227b33d2",
			"registers": {
				"r10": "0x0000000000000000",
				"r11": "0x000000611e0fa320",
				"r12": "0x000000611e0ff680",
				"r13": "0x000000611e0fa390",
				"r14": "0x0000000000000009",
				"r15": "0x00000186d39f03d0",
				"r8": "0x00007ff6227b0000",
				"r9": "0x000000611e0fa390",
				"rax": "0x0000000000000000",
				"rbp": "0x000000611e0ff680",
				"rbx": "0x0000000000000013",
				"rcx": "0x000000611e0ff680",
				"rdi": "0x0000000000000000",
				"rdx": "0x00007ff6227bdedf",
				"rip": "0x00007ff6227b33d2",
				"rsi": "0x000000611e0fa390",
				"rsp": "0x000000611e0fa218"
			},
			"trust": "context",
			"unloaded_modules": null
		}, {
			"file": null,
			"frame": 1,
			"function": null,
			"function_offset": null,
			"inlines": null,
			"line": null,
			"missing_symbols": true,
			"module": "demo1.exe",
			"module_offset": "0x000000000000ddd0",
			"offset": "0x00007ff6227bddd0",
			"trust": "scan",
			"unloaded_modules": null
		}

i had done it

That's how the regular output is designed to be. Registers from frames that aren't he first might be partially recovered if we have the appropriate CFI information. Generally speaking we don't and the best we can do is recover partial register information for the deeper frames. Check out https://github.com/rust-minidump/minidump-debugger which does that.