microsoft / WinDbg-Samples

Sample extensions, scripts, and API uses for WinDbg.
MIT License
725 stars 121 forks source link

Consider open sourcing JSProvider.dll #110

Open glenrgordon opened 6 months ago

glenrgordon commented 6 months ago

I for one am interested in writing a Python provider and/or writing a JSProvider that uses the V8 engine. Both of these in pursuit of better understanding the exposed interfaces. Being able to see how things are done in the existing JSProvider would be of tremendous help and a productivity boost. The documentation is great, but it doesn't bring complex concepts together nearly as well as debugging through existing C++ code.

lzybkr commented 6 months ago

@wmessmer-msft started a Python provider a couple years ago, maybe he can share that?

We have a JSProvider built on V8 and it should be available very soon. You might already have it, but it's not enabled by default.

glenrgordon commented 6 months ago

Good news about the V8 JS provider. How do I know if I already have it, and if not is there a way to get it? Would be great to see the start of a Python provider though I think I have since figured out a bit more about how to make such a thing.

trustednstaller commented 5 months ago

@glenrgordon

0:000> .veighton
Switching to the new V8 JsProvider.
You may find it useful to turn on redirection to the V8 JsProvider permanently:
    .settings set Extensions.EnableRedirectToV8JsProvider=true
    .settings save

It will look for JsProvider.dll inside winext\v8\JSProvider.dll which I did not see in downloading the latest Debugging Tools.

@wmessmer-msft Bump on the Python provider. And while not analogous directly, would it be possible to get a C# port of DbgModelClientEx.h? A C# provider in general would be very very welcome.

wmessmer-msft commented 3 months ago

@glenrgordon

Apologies -- I didn't notice the tag on this earlier. The Python Provider was an "unofficial side project" of mine and I haven't had a lot of time to put into that. That said -- the start of it is still sitting in a branch of mine off the WinDbg Samples repo:

https://github.com/microsoft/WinDbg-Samples/tree/wmessmer/PyProvider/DataModel/ScriptProviders/PyProvider

I haven't had a chance to touch it in some time so I don't know if there are any issues with more recent versions of C Python.

glenrgordon commented 3 months ago

Much thanks. I actually have the repo synced but never bothered to look at branches before now.

From: William R. Messmer @.> Sent: Monday, August 19, 2024 11:43 AM To: microsoft/WinDbg-Samples @.> Cc: glenrgordon @.>; Mention @.> Subject: Re: [microsoft/WinDbg-Samples] Consider open sourcing JSProvider.dll (Issue #110)

@glenrgordon https://github.com/glenrgordon

Apologies -- I didn't notice the tag on this earlier. The Python Provider was an "unofficial side project" of mine and I haven't had a lot of time to put into that. That said -- the start of it is still sitting in a branch of mine off the WinDbg Samples repo:

https://github.com/microsoft/WinDbg-Samples/tree/wmessmer/PyProvider/DataModel/ScriptProviders/PyProvider

I haven't had a chance to touch it in some time so I don't know if there are any issues with more recent versions of C Python.

— Reply to this email directly, view it on GitHub https://github.com/microsoft/WinDbg-Samples/issues/110#issuecomment-2296997139 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AEMY6EOR6RPJ24Z7G4IOMRDZSIOC5AVCNFSM6AAAAABILBRGZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJWHE4TOMJTHE . You are receiving this because you were mentioned.Message ID: @.***>