Domanda

Sto sviluppando un Browser Helper Object in esecuzione all'interno di Internet Explorer. Sto scrivendo messaggi di debug con ATLTRACE (" ... "); Questi appaiono bene quando Visual Studio è collegato al processo iexplore.exe , ma questo è lento per un test rapido. DebugView non cattura nulla dal mio BHO.

Perché DebugView non mostra i messaggi di debug di BHO? Ha a che fare con Internet Explorer che funziona a basso livello di integrità?

È stato utile?

Soluzione

Supponendo che si stia eseguendo IE su Vista o versioni successive (come sembra dal momento che si parla di livelli di integrità), è possibile impostare il livello di integrità di DebugView su un'integrità inferiore in modo che qualsiasi applicazione possa inviargli messaggi:

icacls dbgview.exe /setintegritylevel low

E se non ti piace l'idea di impostare permanentemente dbgview su bassa integrità (potrebbe rendere i registri di salvataggio e un po 'una seccatura, dato che andranno solo nel negozio a bassa integrità) puoi eseguire un particolare istanza di dbgview a bassa integrità utilizzando lo strumento psexec di Sysinternals:

psexec -l dbgview

Infine, se tutto ciò che ti preoccupa è la quantità di tempo necessaria per caricare il debugger VS per collegarti al processo, puoi utilizzare un debugger da riga di comando (come ntsd.exe o cdb.exe). Ntsd.exe viene fornito con Windows, ma una versione più recente viene fornita con gli " Strumenti di debug per Windows " pacchetto , che include anche cdb.exe molto simile.

Altri suggerimenti

Per i tuoi test rapidi, Visual Studio è ancora in esecuzione? In tal caso, ciò potrebbe causare questo problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top