Comments (6)
"FILETIME" is a class, but why there is a "_" before FILETIME.
Because, in the Windows SDK, FILETIME
is a typedef. So one needs to use the name of the struct -- _FILETIME
.
From minwindef.h:
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;
from concordextensibilitysamples.
2.VisualizerId is generate by ourself, so can i regenerate it and replace it in CppCustomVisualizer.natvis and CppCustomVisualizer.vsdconfigxml? I replaced it and the project can not work correctlly.
The .natvis and the .vsdconfigxml files need to agree on the value. So if you update it in one place, you need to update it in the other.
from concordextensibilitysamples.
If I want to add a new type "Struct A{ int a1; int b1;} and show a1 in debug window" ,How to modify the CppCustomVisualizer.natvis and CppCustomVisualizer.vsdconfigxml? if i add a Implements tag,the project will build failed ">CppCustomVisualizer.vsdconfigxml(44,8): error XAC1000:"
I am not sure if I understand your question. Your .natvis file is what associates a type name with a visualizer id. If you are trying to make one dll that visualizers multiple types, there are many ways to do this:
- I believe you could associate multiple types with the same visualizer id
- You can definitely declare one class that supports multiple visualizer ids with
<VisualizerId RequiredValue="<guid-1>"/> <VisualizerId RequiredValue="<guid-2>"/>
in yourFilter
. - You can declare multiple classes in one dll
from concordextensibilitysamples.
thanks, it seems there are some problems in my vs2019 enviroment, I change to vs2022.
then, I add a new type with same id and it works fine(watch a tagRECT type can call my CCppCustomVisualizerService func)
<Type Name="_FILETIME">
<!--NOTE: The 'VisualizerId' is also specified in the .vsdconfigxml to control which
implementation of IDkmCustomVisualizer is used.-->
<CustomVisualizer VisualizerId="8E723FD7-611E-40E7-98C0-624D8873F559"/>
</Type>
<Type Name="tagRECT">
<!--NOTE: The 'VisualizerId' is also specified in the .vsdconfigxml to control which
implementation of IDkmCustomVisualizer is used.-->
<CustomVisualizer VisualizerId="8E723FD7-611E-40E7-98C0-624D8873F559"/>
</Type>
howerver, if i add a new one like this, it did not work (GUID is created from "Tools-> Create GUID")
//CppCustomVisualizer.natvis
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="_FILETIME">
<!--NOTE: The 'VisualizerId' is also specified in the .vsdconfigxml to control which
implementation of IDkmCustomVisualizer is used.-->
<CustomVisualizer VisualizerId="8E723FD7-611E-40E7-98C0-624D8873F559"/>
</Type>
<Type Name="tagRECT">
<!--NOTE: The 'VisualizerId' is also specified in the .vsdconfigxml to control which
implementation of IDkmCustomVisualizer is used.-->
<CustomVisualizer VisualizerId="28331DB7-43B1-470C-922E-023C72C59A07"/>
</Type>
</AutoVisualizer>
//CppCustomVisualizer.vsdconfigxml
<Implements>
<InterfaceGroup>
<Filter>
<!--NOTE: This VisualizerId is also used in the .natvis file.-->
<VisualizerId RequiredValue="8E723FD7-611E-40E7-98C0-624D8873F559"/>
<VisualizerId RequiredValue="28331DB7-43B1-470C-922E-023C72C59A07"/>
</Filter>
<Interface Name="IDkmCustomVisualizer"/>
</InterfaceGroup>
</Implements>
from concordextensibilitysamples.
What do you see in the logs when you evaluate an expression that results in a successful evaluation of one of those types? Logging info: https://github.com/Microsoft/ConcordExtensibilitySamples/wiki/Getting-troubleshooting-logs
from concordextensibilitysamples.
thanks,it finally works
from concordextensibilitysamples.
Related Issues (20)
- How to change the value of an argument at a breakpoint?
- Breaking changes HOT 1
- How to enable debugging client code in Blazor
- "IEnumerable Visualizer" support for our language HOT 6
- Instructions in code are not correct. HOT 1
- Debugging instructions may need clarification with the latest VS 2022 & Child Process Power Tool since I couldn't get it to work HOT 1
- IEnumerable Visualizer shows properties that are marked with attribute to hide them in the debugger HOT 1
- Obtaining debug symbol paths from options HOT 3
- Is it possible to run certain threads when Debug Engine stopped in "break mode"? HOT 1
- .Net 8 problems HOT 1
- Extending call-stack window with full ReturnStackFrame HOT 1
- Custom breakpoints, inactive when set before module loads
- Feature request - add Interfaces for all DKM for easier testing and mocking
- Recent VsDbg versions missing System.Threading.Tasks.dll assembly HOT 4
- Announcement: New releases of C# vsdbg HOT 7
- Unable to load custom VsDbg extensions in linux/WSL using VS 17.7 Preview HOT 6
- Debugger UI integration
- Unable to use IrisExtension following the wiki HOT 3
- $CALLSTACK and $CALLER in Debugger Trace points HOT 4
- Feature request: Allow other .NET languages to participate in Edit and Continue/Hot Reload HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from concordextensibilitysamples.