2015-07-10 34 views
7

Ho sviluppato un componente COM + in C# che sta ereditando ServicedComponent. Ecco come sembra:Impossibile eseguire il debug del codice sorgente del componente servito

[Transaction(TransactionOption.Required)] 
    [ClassInterface(ClassInterfaceType.AutoDual)] 
    [EventTrackingEnabledAttribute(true)] 
    [JustInTimeActivation] 
    [ObjectPooling(Enabled = true, MinPoolSize = 10, MaxPoolSize = 30, CreationTimeout = 15000)] 
    [Synchronization] 

    class MyComponent: System.EnterpriseServices.ServicedComponent 
    { 
     [AutoComplete(true)] 
     public string getHello() 
     {//2nd breakpoint 
      ContextUtil.SetComplete(); 
      return "HelloWorld"; 
     } 
    } 

ho un altro progetto di prova da cui io chiamo questo componente.

class Program 
{ 
static void Main(string[] args) 
{ 
MyComponent myComp = new MyComponent(); 
myComp.getHello();//1st Breakpoint 
} 
} 

Non riesco a raggiungere il 2 ° punto di interruzione. Funzionava prima che passassi a VS 2012. Stranamente, dopo il passaggio al 2012, non funziona più anche in VS 2010.

Ho già provato,

  • Attach to Process
  • incontrollato "Attiva Just My Code" nelle impostazioni di debug

Qualcuno può dare una direzione da qui?

UPDATE 1

dai link forniti da Mike, ho provato Symchk per il mio DLL nella stessa cartella in cui i file PDB DLL ed erano lì. Fallisce con errore dicendo che il PDB non corrisponde o non viene trovato. Non so come risolvere questo errore.

risposta

5

Potrebbe mancare il file .pdb nel progetto.

Check this Microsoft collegamento fuori per una spiegazione: https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx

+1

Quando costruisco il progetto, vedo il file PDB nella mia cartella di debug. C'è un modo per verificare se questo è collegato correttamente durante il debug? –

+1

Probabilmente questo è improbabile, ma un'altra cosa che può causare questo è avere un .dll obsoleto nel tuo GAC. Non sono sicuro che tu possa controllare per vedere cosa sta usando il linker. La mia esperienza è stata manca pdb. Ecco un articolo più robusto sull'argomento: https://msdn.microsoft.com/en-us/library/windows/desktop/ee416588(v=vs.85).aspx - Scusa, vorrei poter essere di più aiuto –

+1

Grazie per i link, li esaminerò e vedrò se questo aiuta! –

Problemi correlati