View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001532 | NoesisGUI | C++ SDK | public | 2019-08-08 18:13 | 2025-12-12 02:11 |
| Reporter | steveh | Assigned To | jsantos | ||
| Priority | normal | Severity | feature | ||
| Status | assigned | Resolution | open | ||
| Product Version | 2.2.1 | ||||
| Summary | 0001532: Feature request: DependencyProperty value support on DependencyObject instances in the debugger | ||||
| Description | Hi guys, this is following on from this feature request: https://www.noesisengine.com/bugs/view.php?id=1440#c5920 What I'd like is the ability to query the DependencyProperty values directly from the debugger. Ideally, if I'd hover over an instance derived from DependencyObject I'd be able to see all the current values of all the DependencyProperty properties. C# manages this through reflection and the getters. If possible, could we achieve something similar in native C++ by modifying the *.natvis to query the DependencyValue maps to retrieve the value for a particular DependencyObject instance? I've attached 2 images, one from managed C# and the other from native C++ of the output from instanced derived from DepnedencyObejct. Ideally, the native would be able to retrieve the same information that the C# version could return. Currently, the workaround is to stop the debugger, write a log to retrieve the value, and then rerun the game. This would prevent tonnes of debugging code that I end up writing like the following snippet: NS_LOG_DEBUG("%s::Visibility = %d", GetName(), GetVisibility()); Cheers, -Steven | ||||
| Steps To Reproduce |
| ||||
| Attached Files | |||||
| Platform | Any | ||||
|
Visual Studio visualizers are split into two logical parts (the docs call them debugger-side and debuggee-side). The debugger-side creates the UI inside Visual Studio; the debuggee-side runs inside the process being debugged and is the only place that can safely execute code and access objects in that process. The official docs describe this two-part architecture. https://learn.microsoft.com/en-us/visualstudio/debugger/visualizer-architecture?view=visualstudio Concord/Dkm visualizers support instantiating an object in the debuggee process that the debugger-side UI can talk to. There are explicit Dkm APIs for creating a debuggee-side visualizer object; the debuggee-side object is executed inside the debuggee so it can call your Noesis runtime APIs directly. See |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2019-08-08 18:13 | steveh | New Issue | |
| 2019-08-08 18:13 | steveh | File Added: native_dependencyproperty_output.png | |
| 2019-08-08 18:13 | steveh | File Added: managed_dependencyproperty_output.png | |
| 2019-08-13 12:08 | jsantos | Assigned To | => jsantos |
| 2019-08-13 12:08 | jsantos | Status | new => assigned |
| 2021-09-06 17:53 | jsantos | Relationship added | related to 0001440 |
| 2025-11-30 12:17 | jsantos | Relationship added | related to 0002222 |
| 2025-11-30 12:24 | jsantos | Note Added: 0011491 | |
| 2025-12-12 02:10 | jsantos | Relationship deleted | related to 0001440 |
| 2025-12-12 02:11 | jsantos | Relationship added | related to 0003032 |