D0
D0 improves on Visual Studio breakpoints and adds features that show the state of your application live, without any recompilation or code changes.
Website: https://d-0.dev
Purchase: https://d-0.dev/pricing
Features:
View execution flow live from the Visual Studio editor:
- Attach the Visual Studio debugger to the target process.
- Navigate to the file you want to view its flow. It may take a second before the highlighted lines appear.
- If a line is not executing anymore, the line background will change its color to blue, indicating that it previously executed.
View inline variable changes from the Visual Studio editor:
- Attach the Visual Studio debugger to the target process.
- Place the cursor anywhere in the function in which you want to view the variable changes. The extension will show changes to variables that happened on each line in real time.
- If the instrumentation of the function is causing performance issues in your debugged application, you can toggle it anytime in the top VS menu: Extensions, D0, Show inline variable changes.
Profile C/C++ code live, line by line:
- Go to Extensions, D0 and tick the Live Profiler option.
- Attach the Visual Studio debugger to the target process.
- Select the function you want to profile by setting the editor cursor anywhere inside it.
- The extension will show you a live heatmap of which lines take the most time currently. Hover over the inline precentage box to get more detailed information.
View execution flow before breakpoint:
- Place a breakpoint in Visual Studio.
- When a breakpoint is hit, the extension will show the execution flow in the function before the breakpoint. If a line was executed more than once, the extension will show a number alongside the line that indicates how many times that line was executed.
Insert a new Angelscript scripting snippet:
- Place the cursor on the line you want to insert a code snippet.
- Right click on the line, and choose "Insert D0 snippet"
- To print an object to the console write:
print(object);
, and save the file to compile the snippet.
- To print an object to the Visual Studio console, write
log(object);
- To view all objects within the current scope, write
view();
. To bring up the Object View, from the top Visual Studio menu choose Extensions, D0 and Show Object View. If you need to view a specific object, use view(object);
.
D0 will apply changes automatically, without recompiling your program.
View live call stack and return value of a particular function:.
- Place the editor cursor anywhere in the function to track the live call stack.
- The return value will be visible in the Object View window if the function returns any value
- Bring up the Live Callstack window from the top Visual Studio menu: Extensions, D0, Show Live Callers.
- Check "Collect callstacks".
Licensing:
To check licensing/activate a license:
From the top Visual Studio menu choose Extensions, D0, Licensing....
If you have any questions, please ask in the Q&A section or contact me: https://d-0.dev/contact/