Bug 11537 – cv2pdb not work

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
visuald
Product
D
Version
D2
Platform
All
OS
Windows
Creation time
2013-11-18T01:01:00Z
Last change time
2015-06-09T05:14:51Z
Assigned to
nobody
Creator
ehysta

Attachments

IDFilenameSummaryContent-TypeSize
1291ConsoleApp1.zipproject archiveapplication/zip242638

Comments

Comment #0 by ehysta — 2013-11-18T01:01:47Z
Created attachment 1291 project archive Just create VisualD default console project with VS 2010, 12, 13 and I never made cv2pdb works. Project files in attachment.
Comment #1 by r.sagitario — 2013-11-19T00:41:51Z
I guess there are some paths missing to run the mspdb*.dll correctly. If you have all thos versions of VS installed, cv2pdb checks VS2012 first, loading mspdb110.dll from <vs11-path>\Common7\IDE, which tries to start mspdbsrv.exe and also needs msobj110.dll from the same path. So these must be found in the search path aswell. For VS2010, the respective files are mspdb100.dll, mspdbsrv.exe and msobj100.dll. Please check whether this might be the problem?
Comment #2 by ehysta — 2013-11-20T03:52:13Z
(In reply to comment #1) > If you have all thos versions of VS installed, cv2pdb checks VS2012 first, wrong: tryLoadMsPdb80(); tryLoadMsPdb100(); tryLoadMsPdb110(); And it found mine mspdb80.dll first. Thanks, now it works. But it would be nice to change order of laoding. Or remove mspdb8 if it cannot create pdb properly.
Comment #3 by r.sagitario — 2013-11-20T10:28:57Z
(In reply to comment #2) > (In reply to comment #1) > > If you have all thos versions of VS installed, cv2pdb checks VS2012 first, > wrong: > Sorry, must have been my bad memory. > Thanks, now it works. But it would be nice to change order of laoding. Yeah, hould be better, though the newer the version, the more experimental the cv2pdb support for it. > > Or remove mspdb8 if it cannot create pdb properly. I guess the problem is that when it picks up mspdb8.dll, the PATH still contains entries for another VS version, so it cannot loads it's respective dlls or even starts an incompatible mspdbsrv.exe. Maybe this could be fixed by changing the environment before loading the mspdb*.dll.
Comment #4 by r.sagitario — 2013-11-29T02:42:04Z
I have updated the search strategy in cv2pdb, checking PATH first, then trying to load the latest DLL, only if it has a mspdbsrv.exe in the same folder. Try it in https://github.com/D-Programming-Language/visuald/releases/tag/v0.3.38beta1
Comment #5 by r.sagitario — 2014-04-12T09:56:49Z