Discussion:
autoexp.dat - VStudio 2005 - changes have no effect
(too old to reply)
s***@gmail.com
2008-05-27 22:08:33 UTC
Permalink
Hi,

I am trying to add visualizers for custom data types to the
autoexp.dat file of vs2005 (\Common7\Packages\Debugger\autoexp.dat).
But no matter what changes I make, the behavior of the debug
visualizer does not change. For example, I can delete everything in
the [Visualizer] group of the autoexp.dat file and still debug
applications with the same visualizing behavoir for the built-in stl
container as if I hadn't touched the autoexp.dat file at all. Is there
anything I am missing here? I make changes to the file, save and
restart vs2005. I am using Vista (64).
Ondrej Spanel
2008-05-28 08:14:37 UTC
Permalink
The only explanation for me is you are changing a wrong file. What you
describe should change the autoexpansion - we are adding our own custom
visualizers into the file and they work, and we are able to change them
later (this is with VS 2005 on WinXP).

On my computer the full path to the file is:

C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger\
autoexp.dat

When on Vista x64, I think you should be double carefull you are editing
the correct file, as there are different locations for x86 and x64
binaries - I did not check this on x64, therefore I am not sure how
exactly is that relevant, but it is something who should be aware of.

Ondrej
Post by s***@gmail.com
Hi,
I am trying to add visualizers for custom data types to the
autoexp.dat file of vs2005 (\Common7\Packages\Debugger\autoexp.dat).
But no matter what changes I make, the behavior of the debug
visualizer does not change. For example, I can delete everything in
the [Visualizer] group of the autoexp.dat file and still debug
applications with the same visualizing behavoir for the built-in stl
container as if I hadn't touched the autoexp.dat file at all. Is there
anything I am missing here? I make changes to the file, save and
restart vs2005. I am using Vista (64).
Luke
2008-06-12 17:58:17 UTC
Permalink
I had a similar problem -- I tried a couple different kinds of change
in my autoexp.dat and saw no effect from them. However, I'm certain
that I'm editing the right file because when I made syntax errors, I
got an error about them and fixed them. The changes I was trying to
make were:

1. A visualization section for a list type we use. It looks like:

Foo::Bar::myListType
{
preview (
#(
"List of ",
[$e._count],
" objects"
)
)
children (
#(
[raw members]: [$e,!],
[size]: [$e._count],
#array
(
expr : (Foo::Bar::myBaseObjectType**)($e._data),
size : $e._count
)
)
)
}

2. An ExecutionControl section to prevent the debugger stepping into
an overloaded operator on a smart pointer class:

[ExecutionControl]
Foo::smartPointer<Foo::Baz::someClass>::operator->=NoStepInto

I was concerned that the template might be a problem for the latter.
I also found an article describing a way to do this with registry
keys, but that produced no results for me either. Anyone know what
the problem might be?

Luke
Post by Ondrej Spanel
The only explanation for me is you are changing a wrong file. What you
describe should change the autoexpansion - we are adding our own custom
visualizers into the file and they work, and we are able to change them
later (this is with VS 2005 on WinXP).
C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger\autoexp.dat
When on Vista x64, I think you should be double carefull you are editing
the correct file, as there are different locations for x86 and x64
binaries - I did not check this on x64, therefore I am not sure how
exactly is that relevant, but it is something who should be aware of.
Ondrej
Post by s***@gmail.com
Hi,
I am trying to add visualizers for custom data types to the
autoexp.datfile of vs2005 (\Common7\Packages\Debugger\autoexp.dat).
But no matter what changes I make, the behavior of the debug
visualizer does not change. For example, I can delete everything in
the [Visualizer] group of theautoexp.datfile and still debug
applications with the same visualizing behavoir for the built-in stl
container as if I hadn't touched theautoexp.datfile at all. Is there
anything I am missing here? I make changes to the file, save and
restart vs2005. I am using Vista (64).
Rich
2008-07-09 15:47:00 UTC
Permalink
Luke - for your second issue, I found that for VS2005 I had to put my
NoStepInto registry entries under HKEY_LOCAL_MACHINE instead of
HKEY_CURRENT_USER (HKCU is what most of the examples online say to use). Not
sure why this worked for me, but it did.

Rich
Post by Luke
I had a similar problem -- I tried a couple different kinds of change
in my autoexp.dat and saw no effect from them. However, I'm certain
that I'm editing the right file because when I made syntax errors, I
got an error about them and fixed them. The changes I was trying to
Foo::Bar::myListType
{
preview (
#(
"List of ",
[$e._count],
" objects"
)
)
children (
#(
[raw members]: [$e,!],
[size]: [$e._count],
#array
(
expr : (Foo::Bar::myBaseObjectType**)($e._data),
size : $e._count
)
)
)
}
2. An ExecutionControl section to prevent the debugger stepping into
[ExecutionControl]
Foo::smartPointer<Foo::Baz::someClass>::operator->=NoStepInto
I was concerned that the template might be a problem for the latter.
I also found an article describing a way to do this with registry
keys, but that produced no results for me either. Anyone know what
the problem might be?
Luke
Post by Ondrej Spanel
The only explanation for me is you are changing a wrong file. What you
describe should change the autoexpansion - we are adding our own custom
visualizers into the file and they work, and we are able to change them
later (this is with VS 2005 on WinXP).
C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger\autoexp.dat
When on Vista x64, I think you should be double carefull you are editing
the correct file, as there are different locations for x86 and x64
binaries - I did not check this on x64, therefore I am not sure how
exactly is that relevant, but it is something who should be aware of.
Ondrej
Post by s***@gmail.com
Hi,
I am trying to add visualizers for custom data types to the
autoexp.datfile of vs2005 (\Common7\Packages\Debugger\autoexp.dat).
But no matter what changes I make, the behavior of the debug
visualizer does not change. For example, I can delete everything in
the [Visualizer] group of theautoexp.datfile and still debug
applications with the same visualizing behavoir for the built-in stl
container as if I hadn't touched theautoexp.datfile at all. Is there
anything I am missing here? I make changes to the file, save and
restart vs2005. I am using Vista (64).
Loading...