Thread overview
VisualD Can now execute class/struct methods __debugOverview, __debugExpaanded, __debugTextView to customize display in the debugger
Jul 05, 2020
FunkyD
Jul 05, 2020
Rainer Schuetze
Jul 05, 2020
FunkyD
Jul 06, 2020
Rainer Schuetze
July 05, 2020
Can now execute class/struct methods __debugOverview, __debugExpaanded, __debugTextView
to customize display in the debugger

? How does one use these I can't find anything else about them, not in the source code.

July 05, 2020

On 05/07/2020 14:10, FunkyD wrote:
> Can now execute class/struct methods __debugOverview, __debugExpaanded,
> __debugTextView
> to customize display in the debugger
> 
> ? How does one use these I can't find anything else about them, not in the source code.
> 

I have added some documentation here: https://rainers.github.io/visuald/visuald/Debugging.html#customization
July 05, 2020
On Sunday, 5 July 2020 at 18:58:50 UTC, Rainer Schuetze wrote:
>
>
> On 05/07/2020 14:10, FunkyD wrote:
>> Can now execute class/struct methods __debugOverview, __debugExpaanded,
>> __debugTextView
>> to customize display in the debugger
>> 
>> ? How does one use these I can't find anything else about them, not in the source code.
>> 
>
> I have added some documentation here: https://rainers.github.io/visuald/visuald/Debugging.html#customization

I've tried that. I switched the debuggers in the debug options and general options to use mago.

The only thing I have gotten was a magnifier glass(the visualizer).

I tried going to a watch window and add but visualD and studio crashed.



struct test
{
	int x;
	auto __debugOverview()
	{
		return "asdfsda";
	}
	auto __debugExpanded()
	{
		struct x
		{ int x, y;
		}
		return x(3,3);
	}

	auto __debugTextView()
	{		
		return "asdfsda";
	}

	auto __debugStringView()
	{
		return "{x:asdfsda}";
	}


}

void main()
{
	
	test t;

        return;
}

Also, in the general options it has debug[Overview|Expanded|Visualizer]. The help seems inconsistent with the various _debug functions.

There seems to be a bug somewhere.

I started a different project and copied that code and it works! I originally had it in another project. The new project has Visual Studio x86 mixed mode set for the debugger! I thought I read that it must be mago.

So it seems to work but there seems to be a bug that causes a crash and does not properly handle.


Ok, I changed the old project back from mago to VSx86MM and it works. So this seems to be an issue with mago.

mago debugger

    can now evaluate class/struct methods/fields __debugOverview, __debugExpanded, __debugTextView to customize display in the debugger
    experimental: can now display ranges similar to arrays
    some performance improvements by caching some data while the debuggee is stopped


I assumed mago debugger meant for mago debugger. In any case, the crash is not good(happens when I go from locals to watch).

Thanks


July 06, 2020

On 05/07/2020 22:25, FunkyD wrote:
> On Sunday, 5 July 2020 at 18:58:50 UTC, Rainer Schuetze wrote:
[...]

I could not reproduce crashes with your code.

> 
> Also, in the general options it has debug[Overview|Expanded|Visualizer]. The help seems inconsistent with the various _debug functions.
> 

The __debugVisualizer was an intermediate version of the name, I'll fix that.

> There seems to be a bug somewhere.
> 
> I started a different project and copied that code and it works! I originally had it in another project. The new project has Visual Studio x86 mixed mode set for the debugger! I thought I read that it must be mago.
> 
> So it seems to work but there seems to be a bug that causes a crash and does not properly handle.
> 
> 
> Ok, I changed the old project back from mago to VSx86MM and it works. So this seems to be an issue with mago.

The mago debug *engine* is considered legacy for Visual Studio versions that don't have a recent "Concord" debugger, i.e. 2013 or earlier. Most of its code is shared with the mago debugger *extension*, though, but only the latter supports function execution.

> 
> mago debugger
> 
>     can now evaluate class/struct methods/fields __debugOverview,
> __debugExpanded, __debugTextView to customize display in the debugger
>     experimental: can now display ranges similar to arrays
>     some performance improvements by caching some data while the
> debuggee is stopped
> 
> 
> I assumed mago debugger meant for mago debugger. In any case, the crash is not good(happens when I go from locals to watch).

Might be that some of the new functionality is not properly disabled with the debug engine.