Developing a JIT code debugger extension for visual studio using Concord RRS feed

  • Question

  • 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 a DkmCustomModuleInstance to be able to create and bind breakpoints based on DkmCustomInstructionAddress. 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 the DkmCustomModuleInstance ? 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.Create do 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 recognize vsdconfigxml 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 !


    Monday, December 17, 2018 4:21 PM