Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Where does it expect pdb to be? #101

Open
WhiteBlackGoose opened this issue Sep 7, 2023 · 6 comments
Open

Where does it expect pdb to be? #101

WhiteBlackGoose opened this issue Sep 7, 2023 · 6 comments

Comments

@WhiteBlackGoose
Copy link

Hello, and thanks for this amazing software!

My preferred workflow is: profiling an app on Windows machine, then downloading the MTuner report along with the pdb file, and running MTuner via Wine on a linux machine. Naturally I don't expect support of this scenario, but maybe I'm missing something easy?

The problem is that it doesn't load debug symbols, so all functions and locations appear as "unknown" in the GUI. I tried putting the pdb file (and, for the record, the exe one) in the same folder as the MTuner report and tried to point Local Store path to the directory with the pdb file, but it still doesn't seem to load them. What can I do?

Thanks!

@WhiteBlackGoose
Copy link
Author

It also says "file may be corrupt" in 2/3 of times, even though the app exits with code 0 and the mtuner file is 200mb - 2gb :(

@milostosic
Copy link
Collaborator

There are issues with DIA even on Windows and I'm looking at replacing that at some point. Locating the PDB file is 'outsourced' to DIA and that code needs... some improvement :)

I don't know anything about Linux/Wine combo... can't help there.

The "file may be corrupt" implies your captured process didn't exit cleanly and capture file wasn't flushed. It's safe to ignore this.

@WhiteBlackGoose
Copy link
Author

Thanks for the quick answer. What can I do on my side to prevent files from corruption?

@milostosic
Copy link
Collaborator

The 'corrupted' part is almost certainly the very end of file. You can make sure your process has a clean exit and CRT cleanup so MTuner injected code can flush the remaining collected data. The data is collected in small buffers so even in this case you may not be missing much information.

@WhiteBlackGoose
Copy link
Author

Oh. How to "force" load the file then? It doesn't show anything when it fails to load the file with this error

@milostosic
Copy link
Collaborator

Ah then it may be a different situation and you'd have to debug this one :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants