Bug 18757 - Error MSB3375 when attempting to debug PCL in VS
Summary: Error MSB3375 when attempting to debug PCL in VS
Status: RESOLVED FIXED
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: Debugger ()
Version: 1.12.x
Hardware: PC Mac OS
: Normal normal
Target Milestone: ---
Assignee: dean.ellis
URL:
Depends on:
Blocks:
 
Reported: 2014-04-02 13:36 UTC by Allie Miller
Modified: 2016-05-10 16:57 UTC (History)
10 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description Allie Miller 2014-04-02 13:36:29 UTC
While attempting to debug a PCL project in VS2013, the breakpoints were failing to hit. After converting the project's dlls to Android dlls, the following output was generated:

2> SharedInterfacesCoreAndroid -> c:\Avocet\Main\Branch\Win8\SharedInterfacesCoreAndroid\bin\Debug\SI.dll 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : Decimal byte array constructor requires an array of length four containing valid decimal bytes. 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at System.Decimal.SetBits(Int32[] bits) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.BitAccess.ReadDecimal() 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbConstant..ctor(BitAccess bits) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbScope..ctor(BlockSym32 block, BitAccess bits, UInt32& typind) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbFunction..ctor(String module, ManProcSym proc, BitAccess bits) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(String module, BitAccess bits, UInt32 limit, Boolean readStrings) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, BitAccess bits, Boolean readAllStrings) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Boolean readAllStrings) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Pdb2Mdb.Converter.Convert(String filename) 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1459,2): warning : at Xamarin.Android.Tasks.ConvertDebuggingFiles.Execute() 2>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1460,2): error MSB3375: The file "bin\Debug\SI.dll.mdb" does not exist. ========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========

Test project reproducing the issue attached.

Versioning Information:
VS2013
Xamarin.Android: 4.12.3.3
Comment 2 Sadik Ali 2014-04-03 06:47:29 UTC
I have tried to reproduce this issue with the help of attached project. But I am getting below build error when I tried to build application.

Build Error: https://gist.github.com/Sadik1/4ba1189e55fd875e12a5
Screen cast: http://www.screencast.com/t/BLX57rur

Build Info:

Window 8.1
VS 2013
X.A 4.12.2.7 
X For VS 1.12.249.0

Please let me know if I need to any additional steps to reproduce this issue.
Comment 4 chadbr 2014-04-04 11:53:42 UTC
Turn off the read only flags? All the files come from source control.
Comment 5 Udham Singh 2014-04-08 06:13:50 UTC
I have checked this issue with the project attached into comment 1 and tried to reproduce this by following the comment 3 and comment 4. As per my observation, For me it is working fine. I am able to build and deploy the application successfully And able to debug a PCL project. Please refer the screencast below :
http://screencast.com/t/7lHLlGscAC

Environment Info : 

Window 8.1
VS 2013
X.A 4.12.2.7 
X For VS 1.12.249.0

Please let me know if i am missing any thing or need to debug any specific file/class in PCL project.
Comment 6 chadbr 2014-04-08 13:31:26 UTC
You don't see the error in the 1st comment in the build output window? We get it on all of our development machines?

Now that I've upgraded to VS2013 Update 2 pre-release, I can't debug anything.

--

The issue is with debugging into SharedInterfacesPCL

-set a break point in LoginFromLocalCache.cs @ line 58

Run the app, try to step into - ConfigCache.SetConfig(XElement.Parse(configXml));

Your debugger (and app) will go to never never land…
----

I will try to roll back to the stable channel to see if it's working better there…
-------
Win8.1
VS 2013 update 2 RC
XA - 4.12.3
XI - 7.2.1
Comment 7 chadbr 2014-04-08 13:31:47 UTC
I can do a remote desktop or record a screencast if it helps...
Comment 8 chadbr 2014-04-08 13:35:57 UTC
http://screencast.com/t/xvNgaKMd << debugging... The last part of the screencast I hit F11, and the application and debugger go to never never land...
Comment 9 chadbr 2014-04-08 13:43:15 UTC
Here is a screencast of the mdb / pdb error -- 

You need to switch to the non-PCL version to see an error in the build output that shows the actual file names that fail

http://screencast.com/t/LTjtBevQB
Comment 10 chadbr 2014-04-08 18:26:44 UTC
I switched back to Xam Android 4.12.2 and I get the same errors on the PCL - doesn't build PDB's.

6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1228,3): warning MSB3247: Found conflicts between different versions of the same dependent assembly. In Visual Studio, double-click this warning (or select it and press Enter) to fix the conflicts; otherwise, add the following binding redirects to the "runtime" node in the application configuration file: <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Runtime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" /><bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.IO" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" /><bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.ServiceModel.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" /><bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Net.Http.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" /><bindingRedirect oldVersion="0.0.0.0-4.2.18.0" newVersion="4.2.18.0" /></dependentAssembly></assemblyBinding><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="System.Threading.Tasks" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" /><bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /></dependentAssembly></assemblyBinding>
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning : Decimal byte array constructor requires an array of length four containing valid decimal bytes.
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at System.Decimal.SetBits(Int32[] bits)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.BitAccess.ReadDecimal()
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbConstant..ctor(BitAccess bits)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbScope..ctor(BlockSym32 block, BitAccess bits, UInt32& typind)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbFunction..ctor(String module, ManProcSym proc, BitAccess bits)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(String module, BitAccess bits, UInt32 limit, Boolean readStrings)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, BitAccess bits, Boolean readAllStrings)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Boolean readAllStrings)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Pdb2Mdb.Converter.Convert(String filename)
6>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(951,3): warning :    at Xamarin.Android.Tasks.CopyMdbFiles.Execute()
========== Rebuild All: 6 succeeded, 0 failed, 0 skipped ==========
Comment 11 chadbr 2014-04-08 19:02:48 UTC
The non-PCL has the same types of problems --

-SharedInterfacesCoreAndroid won't compile with full debug PDB on
-If I set it to pdb-only, it will compile, but the main entry point will give the same PDB warnings (but not an error so the debugger will launch)
-Set breakpoint same as above and VS goes to never never land...

Screencast: http://screencast.com/t/aAuEUE6WnJ24

To reproduce the debugging, you'll have to download an updated zip file - I will post a link later.
Comment 12 chadbr 2014-04-08 19:11:40 UTC
Updated file download link sent to bugzilla@xamarin.com
Comment 13 Udham Singh 2014-04-09 13:29:01 UTC
I have checked this issue with the sample project attached into comment 1 and followed the comment 6 and comment 11 to reproduce this issue. I have noticed that we are not able to debug PCL project (SharedInterfacesPCL). Please refer the screencast : http://screencast.com/t/26eJIZxpA and below Output Log : https://gist.github.com/sunil360/db93bcb9736405dde21f

And when I set "SharedInterfacesPCL" to pdb-only, able to compile the solution but not able to debug PCL project "SharedInterfacesPCL". Please refer the screencast : http://screencast.com/t/4qVbl6lM and below Output Log : https://gist.github.com/sunil360/96993718dc10d882efdd

Environment Info :

Window 8.1
VS 2013
X.A 4.12.2.7 
X For VS 1.12.260.0
Comment 17 dean.ellis 2014-04-17 04:31:21 UTC
I have replicated the issue, it looks like a problem in the Pdb2Mdb converter. Starting to investigate
Comment 19 dean.ellis 2014-04-17 10:22:52 UTC
Fixed in monodroid/master/aa804fa850