Visual D 1.2.0-rc1 available

Rainer Schuetze r.sagitario at gmx.de
Sat Dec 25 10:01:48 UTC 2021



On 24/12/2021 19:13, rumbu wrote:
> On Friday, 24 December 2021 at 11:06:42 UTC, Rainer Schuetze wrote:
>> On 19/12/2021 21:47, Rumbu wrote:
>>> Debugging works for me in VS 2022.
>>>
>>> What is not working for me:
>>> - in x64 mode the linker cannot find phobos64.lib, I must add 
>>> manually windows/lib64 to lib paths in the project configuration.
>>
>> If the former, please enable verbose compilation to see what library 
>> paths are used for linking.
>>
> 
> I looked into the build logs and there are 2 diferences when loading the 
> same project:
> 
> VS2019:
> ```
> set LIB=C:\D\dmd2\windows\bin\..\lib64
> ```
> VS2022:
> ```
> set LIB=

This setting is read from the [Environment64] section in sc.ini in the 
dmd bin folder. Are you using different compiler versions in the 
different VS?

> ```
> 
> 
> VS2019:
> ```
> "C:\Program Files (x86)\VisualD\pipedmd.exe" -msmode -deps 
> x64\Debug\WindowsApp11.lnkdep "C:\Program Files (x86)\Microsoft Visual 
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\link.exe" 
> @C:\Users\Rumbu\source\repos\WindowsApp11\x64\Debug\WindowsApp11.link.rsp
> ```
> 
> VS2022:
> ```
> "C:\Program Files (x86)\VisualD\pipedmd.exe" -msmode -deps 
> x64\Debug\WindowsApp1.lnkdep link.exe 
> @C:\Users\Rumbu\source\repos\WindowsApp11\x64\Debug\WindowsApp11.link.rsp
> ```
> 

This suggests that sc.ini isn't found at all. In that case the setting 
from Tools->Options->Projects and Solutions->Visual D Settings->DMD 
Directories->x64->Linker isn't applied (which is a bug).

Please verify your settings on that page.

> 
>> I don't see dmdserver.exe crashing or restarting, but there seems to 
>> be something odd as it sometimes produces very few completions after 
>> initialization. Loading another file helped in this case.
>>
> 
> Unfortunately, I cannot find a pattern, sometimes works for hours 
> perfectly, sometimes it does basic syntax highlighting only (does not 
> colorize recognized symbols, only keywords). Restarting doesn't help 
> either, after some time it's comming back to the normal experience, 
> irrespective of my actions (opening another doc, killing dmdserver or 
> DParserComServer). Anyway, as a bottom line, it's more stable with 
> DParserComServer than with dmdserver, tried both.
> 
> 

DParserComServer is a C# implementation of a semantic analysis, but 
hasn't been updated in years, so I consider it legacy. I'd recommend it 
only to people that cannot run the dmdserver 64-bit executable. Being 
C#, it can handle errors and exceptions more gracefully.

I suspect that crashes depend on the actual code being analyzed. While 
editing, bogus code can crash the dmd frontend or cause ICEs. Maybe some 
logging can be added that allows to analyze them better.


More information about the Digitalmars-d-ide mailing list