0

Since I created some extended controls in a large application (Wforms) my VS started taking some time (+30s) between a succesful build and the actual Run of the program.

  • When only build, or only run the program, there is no problem. It's only when debugging
  • When debugging - closing the application - start debugging again (without changes), timing is normal.

I believe I tried every provided solution in Stackoverflow: Visual Studio Debugging/Loading Very Slow

The "Extended controls" are like:

class ExtendedCheckbox : System.Windows.Forms.CheckBox
{
    private short? softAddressP = null;
    private byte? bitNumberP = null;

    public short? softAddress
    {
        get { return softAddressP; }
        set { softAddressP = value; }
    }

    public byte? bitNumber
    {
        get { return bitNumberP; }
        set { bitNumberP = value; }
    }
}

I also get the following output when debugging:

'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Documents and Settings\Stage Electro\Desktop\DiagnoseV3\DiagnoseV3\bin\Debug\DiagnoseV3.vshost.exe', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualBasic\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Data.SqlServerCe\3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Management\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Management.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\v4.0_4.0.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 'vshost.NotifyLoad' (0x118c) has exited with code 0 (0x0).
The thread '<No Name>' (0xd2c) has exited with code 0 (0x0).
The thread '<No Name>' (0x330) has exited with code 0 (0x0).
The thread 'vshost.LoadReference' (0x120c) has exited with code 0 (0x0).
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Documents and Settings\Stage Electro\Desktop\DiagnoseV3\DiagnoseV3\bin\Debug\DiagnoseV3.exe', Symbols loaded.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Deployment\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DiagnoseV3.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

To be clear: When debugging - closing the application - start debugging again (without changes), timing is normal.

Community
  • 1
  • 1
Geno
  • 11
  • 4
  • Hi! I think this is normal for a large application with many assemblies. When you make a change in the code of one assembly 1. all referencing assemblies are rebuild too 2. everything is copied to bin debug 3. all debug symbols are loaded to memory again (you can see this in the statusline of VS) –  Jul 11 '13 at 06:43
  • @wonko79, I thought output (to bin/debug) is made at build? In those 30s of time, the statusline of VS shows nothing: build succeeded - ready - (30s) - ready (applucation is now running) – Geno Jul 11 '13 at 06:59
  • So then it seems that you have a faster machine than i have :) I can see the statusline of VS2010 filcker between "Ready" and "Loading Symbols ...". The bigger your assembly the longer loading symbols will take. –  Jul 11 '13 at 07:12
  • @wonko79, it's a pretty fast machine indeed :D, therefore my concerns about these 30s. thanks for your replys, – Geno Jul 11 '13 at 07:31
  • 1
    Make sure you have 'just my code' checked and 'Enable source server support' and 'Enable .NET Framework source stepping' unchecked. – Johan Larsson Jul 11 '13 at 07:40
  • Are the 30 seconds between "build succeeded" and the start of the debugging (VS switches to debugging interface, e.g. debugging toolbar gets visible) or after the start of the debugging and your application doing something? – cremor Jul 11 '13 at 07:40
  • @cremor , The debugging toolbar is visible at the beginning of the 30s. When i set a breakpoint at "static void main" in Program.cs, It also hits immediate, But then VS freezes for 30s – Geno Jul 11 '13 at 08:55
  • Is it a possibillity that the corporate firewall (serverside) first checks the new .exe ? – Geno Jul 12 '13 at 07:47
  • It's more likely that your local antivirus checks the new EXE. – Cody Gray - on strike Jul 12 '13 at 08:54

0 Answers0