Hi,
I'm hardly trying to implement a JIT code debugger as a visual studio extension with concord.
I'm very new to Visual Studio extensibility and I'm really stuck on that ... I read times and times the concord extensibility documentation on github without help and I cannot find any kind of tip on the internet, you are my last hope ! :)
What I try to achieve exactly :
I have a C++ application which compiles JIT code in programmable memory. At the same time, I emit files which contain the debug infos associated with this code. Among other, the file contains the memory address in the application where the code start (the base address of my module I could say). I would like to be able to detect in my Visual Studio extension when a files has been generated to create aDkmCustomModuleInstance to be able to create and bind breakpoints based onDkmCustomInstructionAddress. But I cannot find where to do the right call to DkmCustomModuleInstance.Create.
My questions are :
- 1 : am I on the right path using DkmCustomModuleInstance ?
- 2 : What is the best IDkm interface or way to detect the debug infos files and create theDkmCustomModuleInstance ? The only way I thought about (but didn't work) is using a FileSystemWatcher and try to create the DkmCustomModuleInstance from there. But with no success, because first I'm not on a server component, and secondly
on a thread... I then read on the wiki that some calls which trigger events (i think DkmCustomModuleInstance.Createdo so), are only allowed on the event thread. So my alternative question is :
- 3 : How can I schedule calls on the Debugger event thread to watch manually for debug info file creation and create a DkmCustomModuleInstance in a thread-safe place ?
- 4 : I have troubles creating a well configured solution to build an extension from zero (I don't know which template to use, i.e. the one that will recognizevsdconfigxml files and apply the right action on generation. (when I try to customize the files in the sample extensions I get an error in visual studio :
" Unable to start debugging. Failed to process configuration file"
Thank you !