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

Add mex.dll extension usage please #128

Open
jeffstokes72 opened this issue Sep 11, 2018 · 2 comments
Open

Add mex.dll extension usage please #128

jeffstokes72 opened this issue Sep 11, 2018 · 2 comments

Comments

@jeffstokes72
Copy link

https://blogs.msdn.microsoft.com/luisdem/2016/07/19/mex-debugging-extension-for-windbg-2/

https://www.microsoft.com/en-us/download/details.aspx?id=53304

Very powerful managed code and kernel debugging extension. Use it all the time.

Ideally the person installing would accept eula/drop in a folder and then the debug engine service would see it and leverage mex.dll for some additional debugging.

Thoughts?

@discostu105
Copy link
Member

Oh, sounds like a good idea.

I would rather not ship extensions with SuperDump directly (not sure about license implications), but one way, this could be made possible is to make the extensions that are being loaded by default customizable. That way, one would need to deploy mex.dll manually to the SuperDump host system, then would configure SuperDump to load this extension by default.

I see two places to use it:

  • windbg.log: This is the pre-populated log that spits out a bunch of interesting WinDbg commands. It already loads a set of extensions (https://github.com/Dynatrace/superdump/blob/master/src/SuperDump/Analyzers/WinDbgAnalyzer.cs#L55). If we'd make this list configurable, it would be possible to add some commands to the standard list of commands.
  • interactive mode: This is probably more interesting. For deep analysis the interactive mode is the best tool. Especially here you want to be able to have a powerful extension to look for the nasty details in a dump. However, this is more difficult to extend. It basically starts cdb.exe and hooks up input and output with a web-based terminal (websocket based). Now, there is a mechanism to enter commands after starting interactive mode, but it's a bit of a hack (
    initialCommands.Add(".cordll -ve -u -l"); // load DAC and SOS
    ). These initialCommands are just executed in a 1 second delay. Still probably the best place to add this for now.

Anyway, what kind of integration are you looking for?

By the way: another extension that is a very useful addition to WinDbg: https://archive.codeplex.com/?p=netext

@jeffstokes72
Copy link
Author

thanks for that suggestion. I use winde.dll alot as well.

Interactive I think is the best way to go.

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