-
Notifications
You must be signed in to change notification settings - Fork 83
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
dlls #8
Comments
It does not work on code for which there are no symbols in the application PDB. These are used to determine function addresses etc. in the loaded image, so are a hard requirement. blink does not currently load the PDBs for DLLs loaded by the application (it could do that though). |
@crosire Any sort of guidance on how one might start on this? I've started dissecting the code a bit and think I understand the overall flow (though surely not the specifics - not nearly familiar enough with the Windows executable format for that), but I'm not totally sure where to begin in tracking changes to loaded DLL sources, especially those which are loaded at runtime (the use case I'm looking to support). Thanks in advance! |
There are two ways DLLs can be loaded, either via a static import or dynamically via The first case can be covered by retrieving the PDB info here: Line 55 in 9ca9e5c
Same way it is done for the main application (get a pointer to the PE header via GetModuleHandle and then just locate the PDB path and read the symbol information in the same way): Line 92 in 9ca9e5c
The second case would involve hooking the |
Has anyone tried to implement patching *.dlls loaded by main executable via static or dynamic import? |
Added an untested, experimental branch which loads symbols for statically linked DLLs: EDIT: This is now in master. |
@crosire, thanks. I'll give it a try soon. |
I have a host.exe app which loads a plugin DLL at runtime. No access to the source code of host.exe app but only have for DLL's. Is that also possible to use blink for this case? If it is, could you let me know how to use blink for that? Thanks in advance. |
blink does not currently support dynamically loaded DLLs. |
does this work with dlls that are injected (i'm assuming probably yes because of the ability to attach to running projects, but I'm not sure).
The text was updated successfully, but these errors were encountered: