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

Symbols don't seem to apply #24

Closed
asafshakedverint opened this issue Nov 23, 2017 · 13 comments
Closed

Symbols don't seem to apply #24

asafshakedverint opened this issue Nov 23, 2017 · 13 comments

Comments

@asafshakedverint
Copy link

Using latest release v4.0.7 on Win7 x64 (tried more than one PC)

I'm setting local store with path to output files from my build server

Opening previously recorded or recording new session

Call stack window is empty... Symbols don't seem to apply :/

What am I doing wrong ?

@milostosic
Copy link
Collaborator

Hard to say. Best would be to debug it locally...
I'd appreciate if you find what the cause is and report it back. Will leave the issue open for a few days

@asafshakedverint
Copy link
Author

asafshakedverint commented Nov 28, 2017 via email

@milostosic
Copy link
Collaborator

I would be guessing at best without a repro case, and that's not really an engineering approach :)
If you manage to reproduce the problem on a smaller scale I'd love to look into this.

@asafshakedverint
Copy link
Author

asafshakedverint commented Nov 28, 2017 via email

@darknesswind
Copy link

The DIA interface load symbols directly but not using the search path. The search path may be using in Dbg
Help library only.

@milostosic
Copy link
Collaborator

@darknesswind any suggestions regarding your comment?

@darknesswind
Copy link

darknesswind commented Jun 11, 2018

Sorry, I make a mistake, It is not the reason I fail to load the symbols.
I found that if I start a process on a remote disk, just like \\dev.test.net\release\test.exe, and the symbol file local in the same folder, call of IDiaDataSource::loadDataForExe will fail because rtm::WideToMulti convert the path to a UNC path.

@darknesswind
Copy link

the convert result just like: UNC\\dev.test.net\release
and the stander UNC path should be: \\?\UNC\dev.test.net\release
But even if I try "\\?\UNC\dev.test.net\release", IDiaDataSource::loadDataForExe will fail.

@milostosic
Copy link
Collaborator

If you have time to contribute a fix it would be appreciated. I'm currently very busy with other projects.

@darknesswind
Copy link

Are there any reason to make a UNC path?

@milostosic
Copy link
Collaborator

Reason was to handle very long path names, by prepending "\?" limit goes up substantially, if I remember correctly up to 32K characters, depending on Windows version.

@darknesswind
Copy link

But why makeLongPath skip the longPathPrefix (\\?\) using return _outBuff + 4 ?

@milostosic
Copy link
Collaborator

Hacky convenience, you could use the buffer passed in (_outBuff) or the return value if you don't care about long paths (when you know it's not long).

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

3 participants