Symbol status showing "Skipped Loading" for dll in modules window?

15,428

After painfully comparing two project files, one that worked and one that didn't I noticed that the proj that worked had:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    **<Optimize>false</Optimize>**
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

Where as my one had

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    **<Optimize>true</Optimize>**
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>

  </PropertyGroup>

By setting the <Optimize> property to false all issues went away.

This answer also seems relevant as the .csproj.user file can be out of sync, I deleted it.

Share:
15,428
Liam
Author by

Liam

Father, Husband, Rock Climber, Lead Engineer and Inventor of patented technology with 20 years experience in the industry (in that order). Currently working as a team lead engineer. Any fool can write code that a computer can understand. Good programmers write code that humans can understand. Martin Fowler (2008) Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. Donald Ervin Knuth (Professor Emeritus at Stanford University, and winner of the 1974 Turing Award)

Updated on June 16, 2022

Comments

  • Liam
    Liam about 2 years

    I've recently upgraded some solution(s) to Visual studio 2013. All went OK apart from one which now generates the:

    Symbol for the modules 'name' were not loaded.

    ...error every time I run it.

    When I look in the modules debug window I can see against the dll (It's a web service dll)

    Name           Path                       Optimised    User Code    Symbol Status
    dllName.dll    Tempoary ASP.Net...etc.    Yes          No           Skipped Loading...
    

    If I look in the \bin I see the dll and it's coresponding .pdb file.

    Checking the build menu for the project I can see Debug Info: full.

    Cut a long story short everything looks fine to me except that it's not loading any symbols.

    Any idea what I'm missing?

    Update

    It looks like if I run my solution though IIS express the issue goes away. But running though IIS (8) I still have this problem.

  • pvasek
    pvasek over 9 years
    I had the same problems when I run azure project in emulator and your suggestion to delete .csproj.user worked perfectly.
  • Ed Schwehm
    Ed Schwehm over 6 years
    You can still have this problem if you do not have an optimize element at all; apparently it defaults to true. Once I added <Optimize>false</Optimize> to my csproj, my symbols started properly loading.