Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

PDB with a relative path is searched relative to the debugger #32

Closed
DmitriySalnikov opened this issue Jan 14, 2024 · 5 comments
Closed
Labels
Bug A report of unintended or broken behavior.

Comments

@DmitriySalnikov
Copy link

If you specify a relative path to the PDB inside the DLL (In my case, I edit RSDS/PDB70 CODEVIEW), then the debugger looks for the PDB next to itself instead of next to the DLL. Therefore, the PDB cannot be loaded.
For testing I just copied raddbg.exe into the library folder and everything worked as expected.

@ryanfleury
Copy link
Collaborator

ryanfleury commented Jan 20, 2024

Should be fixed as of d88000d - let me know if you still run into issues.

@DmitriySalnikov
Copy link
Author

PDBs are now loading as expected!

But the first time I ran it, the debugger crashed after reloading the PDB.
I stopped at the breakpoint, continued, switched the breakpoint several times in different places, added a new line at the beginning of the file and rebuilt the library. Then it reloaded and the debugger crashed. Unfortunately I was unable to replicate this crash.

[Window Title]
Fatal Exception

[Content]
A fatal exception (code 0xc0000005) occurred. The process is terminating.

Press Ctrl+C to copy this text to clipboard, then create a new issue in
https://github.com/EpicGames/raddebugger/issues

Call stack:
0. [0x7ff67940a4ad] str8_match +205, base_string.c line 274
1. [0x7ff67949287a] eval_num_from_string +234, eval_parser.c line 115
2. [0x7ff679498370] eval_parse_expr_from_text_tokens__prec +5552, eval_parser.c line 824
3. [0x7ff67949b5cf] eval_parse_expr_from_text_tokens +111, eval_parser.c line 1419
4. [0x7ff6794efb4b] df_eval_from_string +827, df_core.c line 4157
5. [0x7ff67952586f] df_view_ui_Code +14783, df_views.c line 5201
6. [0x7ff67956fb77] df_window_update_and_render +144615, df_gfx.c line 5567
7. [0x7ff6795ac2d8] update_and_render +4056, raddbg.c line 259
8. [0x7ff6795c3476] entry_point +5654, raddbg.c line 524
9. [0x7ff67940245d] WinMain +877, raddbg_main.cpp line 348
10. [0x7ff6795c507e] __scrt_common_main_seh +262, exe_common.inl line 288
11. [0x7ffa99917614] KERNEL32
12. [0x7ffa9a8226b1] ntdll

This is probably due to the change in the number of lines, not the PDB.

@ryanfleury
Copy link
Collaborator

Hmmm. While investigating that callstack I found a few big issues, which I've now resolved. Can you pull/build post- 0bc96a0, and let me know if you run into the same issue?

@DmitriySalnikov
Copy link
Author

I have no longer been able to crash the debugger by changing the number of lines.

But noticed that the breakpoint moves after the file is changed.

notepad_C2anIC2sYx.1.mp4

After initially triggering, it triggers where it is displayed.

@ryanfleury
Copy link
Collaborator

Yeah that is to be expected. We currently don’t do any text file diffs or anything like that to move breakpoints after a file has changed.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Bug A report of unintended or broken behavior.
Projects
None yet
Development

No branches or pull requests

2 participants