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

Dexter can't identify when it's stepped into the right source files #72

Open
jmorse opened this issue Oct 4, 2019 · 3 comments
Open

Comments

@jmorse
Copy link
Contributor

jmorse commented Oct 4, 2019

I have a problem with this code [0], which seems to be designed to make the debugger "continue" if we're not yet in a correct source file. On windows under dbgeng, step_info.current_location.path is

 c:\users\jmorse\source\debuginfo-tests\dexter-tests\hello.c

And self.context.options.source_files is

['C:\\Users\\gbmorsej\\source\\o\\debuginfo-tests\\dexter-tests\\hello.c']

Which are two very different strings. The symptom is that dbgeng doesn't implement "go"; but even if it did, this would still be broken.

Ultimately I don't think we should be trying to resolve the paths that the debugger coughs up into paths on the actual filesystem -- or if we do, we should make that the debugger drivers problem, not generic code.

[0]

if (step_info.current_frame

@jmorse
Copy link
Contributor Author

jmorse commented Oct 4, 2019

Aaaannnddd, this turns out to be necessary for things like lldb to not be infinitely stepping through the implementation of printf and the like. So this portion of code does need to be sticking around.

@gregbedwell
Copy link
Contributor

We should probably call os.path.normpath in that code that you highlighted to make sure that when comparing paths we're actually comparing like for like.

@jmorse
Copy link
Contributor Author

jmorse commented Oct 7, 2019

Ah, that might be a better / more general fix, I'll try that

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