Debugging Visual D using Visual D
Rainer Schuetze via Digitalmars-d-debugger
digitalmars-d-debugger at puremagic.com
Wed Aug 16 10:54:39 PDT 2017
On 16.08.2017 16:48, Johnson wrote:
> On Wednesday, 16 August 2017 at 06:58:49 UTC, Rainer Schuetze wrote:
>>
>>
>> On 16.08.2017 08:32, Rainer Schuetze wrote:
>>>
>>>
>>> On 16.08.2017 04:49, Johnson wrote:
>>>> VisualD.dll C:\Program Files (x86)\VisualD\Debug\VisualD.dll
>>>> N/A Yes Symbols loaded.
>>>> C:\Program Files (x86)\VisualD\Debug\VisualD.pdb 229
>>>> 0.45.1-rc2 12/31/1969 7:00 PM 13FB0000-143C0000* [8972]
>>>> devenv.exe
>>>> VisualD.dll C:\Program Files (x86)\VisualD\VisualD.dll
>>>> N/A Yes Cannot find or open the PDB file. 271
>>>> 0.45.1-rc2 12/31/1969 7:00 PM 18D40000-1904E000* [8972] devenv.exe
>>>>
>>>>
>>>> I was finally able to get it to work. Something is wonky. I think
>>>> it's when I use a normal VS side by side with the experimental that
>>>> the experimental can't find the symbols and somehow the registry
>>>> changes I made got reset.
>>>>
>>>> So far it is working(I can hit BP's) but it's still basically the
>>>> same scenario in that I have to completely shut down VS in order to
>>>> reload visualD. Before I could automate because the normal visual
>>>> studio instance could stay open... but it seems like it screws up
>>>> the debugging symbols and such.
>>>>
>>>> I could try to use another, different exp instance(different
>>>> registry) but I feel the same problem might occur.
>>>>
>>>> But I guess it's better than nothing.
>>>>
>>>
>>> Good to hear it (kind of) works now. VS2015 also resets the
>>> configuration rather often, so it's good to automate the patching.
>>>
>>> I don't have troubles with exchanging the debug DLL while having the
>>> normal VS instance running. Maybe you have experimented with registry
>>> changes that now cause the debug DLL to be loaded there, too?
>>> Reinstalling Visual D should help in that case (though that will
>>> trigger rebuilding the user configuration).
>>>
>>> I've tried to figure out why both DLLs are actually loaded (it has
>>> been bugging me before, too), but could not find the cause yet.
>>
>> I managed to load the Debug DLL into the "experimental" VS without any
>> (explicit) registry patching:
>>
>> 1. delete
>> HOME%\AppData\Local\Microsoft\VisualStudio\15.0_<id>Exp\privateregistry.bin
>> to make sure to start from scratch
>>
>> 2. copy "c:\Program Files (x86)\Microsoft Visual
>> Studio\2017\Community\Common7\IDE\Extensions\Rainer Schuetze\VisualD"
>> to
>> "%HOME%\AppData\Local\Microsoft\VisualStudio\15.0_<id>Exp\Extensions\Rainer
>> Schuetze\VisualD"
>>
>> 3. replace paths in Extensions\Rainer
>> Schuetze\VisualD\0.45\visuald.pkgdef to point to the debug DLL
>>
>> 4. start "devenv /RootSuffix Exp"
>>
>> 5. enable "Visual D" in the "Extensions and Updates..." dialog
>>
>> 6. restart VS
>>
>> This even doesn't load the DLL twice for me.
>
> This isn't working for me, even though it looks like it should. Those
> values in the pkgdef are exactly the ones I replaced in the
> privateregistry hive, but it seems that for some reason it is not being
> used ;/ (since my changes are not propagating to it)
>
> This should work as this is really no different that what I was doing
> except it is more of the correct way. I'm not sure what's going on but
> I'll try and figure it out. I probably need to use a clean instance of VS
>
> It seems I have something weird going on. I have
>
> 15.0
> 15.0_4d0b469e
> 15.0_4d0b469eExp
> 15.0Exp which is empty except for a path containing
> VSTemplateStore.pkgdef and I don't believe this existed yesterday. I
> think I just created it with the util I used as I was trying to reset
> the exp instance(which I thought was the 3rd one).
>
> I'm not sure where the others came from but I'm going to create a new
> rootsuffix and try everything on that. I guess the 15.0_4d0b469eExp is a
> _4d0b469eExp suffix and hence I'm not loading it ;/
>
>
> Ok, I ran CreateExpInstance /create /VSInstance=15.0
> /RootSuffix=VisualDExp and it created a 15.0VisualDExp dir.
>
> So, looks like the 15.0Exp was what I just created and it wasn't being
> used when I ran /RootSuffix=Exp.. which I guess, because it didn't
> exist, just used the original data.
>
> I ran devenv.exe /RootStuffix VisualDExp
>
> and it created
>
> 15.0_4d0b469eVisualDExp
>
> So, something is funky. I guess 15.0_4d0b469e is the version. It loads,
> though, Visual D, so it is picking up the extensions from the original.
>
> This seems to be a problem with Visual Studio ;/
>
> Yeah, so, tried with a fresh exp copied all the stuff you mentioned,
> checked the files and same thing. I'm using enterprise on windows 10
> creators so there might be bugs. It's clearly not loading the package
> changes I made so either it's bugged or it's loading them from a
> different place.
>
> I'll try again tomorrow and see if things change ;/
>
Starting with VS2017, it's supposed to be possible to have different
copies of VS installed. I guess the additional hex value after 15.0 is
represents each of these different installations.
I don't run "CreateExpInstance", I just start "devenv /RootSuffix Exp"
(or another suffix) which creates 15.0_ade21380Exp for me. There is no
15.0 folder on my AppData directories.
I'm on Win10.0.14393 (pre-creator), VS 2017 community.
More information about the Digitalmars-d-debugger
mailing list