Fouten opsporen in Office-projecten

U kunt fouten opsporen in Office-projecten met behulp van dezelfde Microsoft Visual Studio-hulpprogramma's die u gebruikt voor andere Visual Studio-projecten. Visual Studio-functies voor foutopsporingsprogramma's, zoals de mogelijkheid om onderbrekingspunten in te voegen en variabelen weer te geven in het venster Locals , zijn ook beschikbaar wanneer u fouten in Office-projecten opsneert. Zie Fouten opsporen in Visual Studio voor meer informatie over hulpprogramma's voor foutopsporing in Visual Studio.

Aanbeveling

Als u foutopsporing wilt vereenvoudigen, sluit u alle geopende exemplaren van de Office-toepassing voordat u deze bouwt en fouten opspoort.

Van toepassing op: De informatie in dit onderwerp is van toepassing op projecten op documentniveau en VSTO-invoegtoepassingsprojecten. Zie Functies die beschikbaar zijn per Office-toepassing en projecttype.

Opmerking

Bent u geïnteresseerd in het ontwikkelen van oplossingen die de Office-ervaring uitbreiden op meerdere platforms? Bekijk het nieuwe Office-invoegtoepassingsmodel. Office-invoegtoepassingen hebben een kleine footprint vergeleken met VSTO-invoegtoepassingen en -oplossingen en u kunt ze bouwen met behulp van vrijwel elke webprogrammeertechnologie, zoals HTML5, JavaScript, CSS3 en XML.

Het foutopsporingsprogramma starten en stoppen

U kunt beginnen met het opsporen van fouten in een Office-project, net zoals u begint met het opsporen van fouten in andere Visual Studio-projecten; U kunt bijvoorbeeld op F5 drukken. Wanneer u begint met het opsporen van fouten in een VSTO-invoegtoepassingsproject, wordt een nieuw proces voor de beoogde Office-toepassing gestart en wordt de VSTO-invoegtoepassing geladen.

Wanneer u begint met het opsporen van fouten in een project op documentniveau, wordt het document of de werkmap geopend in een nieuw Word- of Excel-proces.

Wanneer u de debugger stopt, wordt het toepassingsproces abrupt beëindigd, of wordt de debugger losgekoppeld als deze is ingesteld om los te koppelen. Alle andere documenten die in het beëindigde Office-toepassingsproces worden geopend, worden ook gesloten zonder waarschuwing en eventuele niet-opgeslagen wijzigingen gaan verloren. Dit kan alle documenten of werkmappen bevatten die worden geopend terwijl het foutopsporingsprogramma wordt uitgevoerd.

Normaal gesproken is het beter om het proces los te koppelen voordat u het foutopsporingsprogramma stopt, zodat u de Office-toepassing op de normale manier kunt afsluiten. U kunt het proces ook eerst loskoppelen als u nog steeds met een geopend document of werkblad wilt werken nadat u het foutopsporingsprogramma hebt gestopt.

Als u fouten in een aanpassing op documentniveau voor Word opspoort, wordt het foutopsporingsprogramma herhaaldelijk gestopt en wordt Word plotseling gesloten, waardoor de sjabloon Normaal beschadigd raakt. Als dit gebeurt, kunt u de beschadigde sjabloon Normaal verwijderen en wordt deze automatisch opnieuw gemaakt wanneer u Word de volgende keer opent. Macro's die zijn opgeslagen in de sjabloon Normaal, worden echter niet opnieuw gemaakt.

Fouten opsporen in Office 2013 VSTO-invoegtoepassingen met Office 2013 of Office 2016

Als u Visual Studio 2015 gebruikt en u beide versies van Office naast elkaar hebt geïnstalleerd, start Visual Studio Office 2016. Als u Visual Studio 2013 gebruikt, start Visual Studio Office 2013.

Als u fouten wilt opsporen in uw VSTO-invoegtoepassing met een andere versie van Office (2013 of 2016), opent u Projectontwerper en kiest u op het tabblad Foutopsporing de optieknop Extern programma starten . Blader vervolgens naar de locatie van het juiste uitvoerbare Office-toepassingsbestand.

F10- en F11-gedrag

Wanneer u begint met het opsporen van fouten in een Office-project, hebben F10 en F11 niet hetzelfde gedrag als wanneer u andere Visual Basic- of C#-projecten gaat opsporen. In Visual Basic- of C#-projecten stopt het foutopsporingsprogramma op de hoofdfunctie; in Office-projecten heeft Visual Studio geen controle over de hoofdfunctie van de Office-toepassing. Tijdens foutopsporing hebben F10 en F11 echter dezelfde functies als in Visual Basic- en C#-projecten.

Uitzonderingen weergeven

Vanwege de manier waarop beheerde code communiceert met niet-beheerde code, worden in Visual Studio geen fouten weergegeven die worden gegenereerd door Microsoft Office-toepassingen. Als bijvoorbeeld een VSTO-invoegtoepassing die is gemaakt met behulp van Office-ontwikkelhulpprogramma's in Visual Studio een uitzondering genereert, wordt de Microsoft Office-toepassing voortgezet zonder een fout weer te geven. Als u deze fouten wilt zien, stelt u het foutopsporingsprogramma in op veelvoorkomende runtime-uitzonderingen voor taal. Zie Uitzonderingen beheren met het foutopsporingsprogramma voor meer informatie.

Als u het foutopsporingsprogramma instelt om te breken op algemene runtime-uitzonderingen in de taal, worden alle uitzonderingen nu opgesplitst in het foutopsporingsprogramma, inclusief uitzonderingen die u hebt verwerkt en enkele uitzonderingen voor de eerste kans van de runtime zelf, die mogelijk niet relevant zijn voor uw project. Fouten die verwijzen naar msosec worden niet gevonden in elk project, maar zijn veilig te negeren. Deze msosec-uitzonderingen hebben geen invloed op uw oplossing.

U kunt ook Try...Catch-instructies rond uw methoden gebruiken om uitzonderingen op te vangen.

Visual Studio geeft standaard ook geen Just-In-Time foutopsporingsfouten voor Office-projecten weer; U kunt deze functie echter inschakelen, zodat u de fouten kunt zien die worden gegenereerd. Zie Just-In-Time foutopsporing in Visual Studio voor meer informatie.

Opdrachtregelargumenten

Als de actie Starten op de eigenschappenpagina Foutopsporing is ingesteld op Project starten, gebruikt Visual Studio geen opdrachtregelargumenten bij het opsporen van fouten in het project, zelfs niet als u opdrachtregelargumenten hebt opgegeven als beginopties. Als u opdrachtregelargumenten wilt gebruiken wanneer u foutopsporing start, moet u een andere actie starten dan Project starten selecteren.

Bronbeheer

Eigenschappen voor foutopsporing worden niet gedeeld tussen meerdere gebruikers onder broncodebeheer. Visual Basic- en C#-projecten slaan de foutopsporingseigenschappen op in een gebruikersspecifiek bestand (ProjectName.vbproj.user of ProjectName.csproj.user) en dit bestand valt niet onder broncodebeheer. Als er meer dan één persoon bezig is met foutopsporing, moet elke persoon handmatig de debugeigenschappen invoeren.

Debuggen van in de cache opgeslagen gegevenssets in een documentniveauproject

Telkens wanneer u een project bouwt, wordt de gegevensset leeggemaakt en opnieuw gemaakt. Als u fouten wilt opsporen in een gegevensset in de cache, moet u het document buiten Visual Studio openen en vervolgens het foutopsporingsprogramma koppelen.

Fouten opsporen in Word-documentprojecten op basis van de Word 97-2003-documentindeling (*.doc)

Als u fouten wilt opsporen in een Word-documentproject op basis van word 97-2003-documentindeling (/.doc*), moet u de projectmap toevoegen aan de lijst met vertrouwde mappen. Zie Vertrouwensrelatie verlenen aan documenten voor meer informatie over hoe u dit doet.

Debuggen van uitgeschakelde invoegtoepassingen

Microsoft Office-toepassingen kunnen VSTO-invoegtoepassingen uitschakelen die onverwacht werken. Een Microsoft Office-toepassing schakelt VSTO-invoegtoepassingen uit om te voorkomen dat problematische code telkens wordt geladen wanneer de toepassing wordt gestart. Het is echter ook eenvoudig om onverwacht gedrag te veroorzaken tijdens typische foutopsporing. Zie Instructies voor het opnieuw inschakelen van VSTO-invoegtoepassingen voor informatie over het opnieuw inschakelen van een VSTO-invoegtoepassing die is uitgeschakeld.

Er zijn twee typen uitschakelen die Microsoft Office-toepassingen gebruiken voor VSTO-invoegtoepassingen: hard uitschakelen en zacht uitschakelen.

Harde uitschakeling

Moeilijk uitschakelen kan optreden wanneer een VSTO-invoegtoepassing ervoor zorgt dat de toepassing onverwacht wordt gesloten. Het kan ook gebeuren op uw ontwikkelcomputer als u het foutopsporingsprogramma stopt terwijl de Startup gebeurtenis-handler in uw VSTO-invoegtoepassing wordt uitgevoerd. Wanneer een VSTO-invoegtoepassing moeilijk is uitgeschakeld, wordt deze weergegeven in de lijst Uitgeschakelde items in de toepassing.

Als een Office-toepassing hard een VSTO-invoegtoepassing uitschakelt die is gemaakt met behulp van Office-ontwikkelhulpprogramma's in Visual Studio, schakelt de toepassing alleen de VSTO-invoegtoepassing uit die de fout heeft veroorzaakt. Andere VSTO-invoegtoepassingen die zijn gemaakt met behulp van Office-ontwikkelhulpprogramma's in Visual Studio voor die Office-toepassing, blijven laden.

Zacht uitschakelen

Voorlopig uitschakelen kan optreden wanneer een VSTO-invoegtoepassing een fout produceert waardoor de toepassing niet onverwacht wordt gesloten. Een toepassing kan bijvoorbeeld een VSTO-invoegtoepassing voorlopig uitschakelen als deze een onverwerkte uitzondering genereert terwijl de Startup event-handler actief is. Wanneer een VSTO-invoegtoepassing voorlopig is uitgeschakeld, wordt deze weergegeven in de lijst met inactieve toepassingsinvoegtoepassingen in de toepassing en wijzigt de toepassing de waarde van de registervermelding LoadBehavior voor de VSTO-invoegtoepassing om aan te geven dat deze is verwijderd. Voor meer informatie over de registervermelding LoadBehavior, zie Registervermeldingen voor VSTO-invoegtoepassingen.

Installatiefouten oplossen met behulp van de Logboekviewer

Visual Studio Tools voor Office Runtime schrijft meldingen naar de Logboekviewer in Windows voor alle uitzonderingen die optreden wanneer u Office-oplossingen installeert of deïnstalleert. U kunt deze berichten gebruiken om installatie- en implementatieproblemen op te lossen.

Opstartfouten oplossen met behulp van een logboekbestand en foutberichten

Visual Studio Tools voor Office Runtime kan alle fouten schrijven die optreden tijdens het opstarten naar een logboekbestand of elke fout weergeven in een berichtvak. Deze opties zijn standaard uitgeschakeld. U kunt de opties inschakelen door omgevingsvariabelen te maken.

Als u elke fout in een berichtvak wilt weergeven, maakt u een omgevingsvariabele met de naam VSTO_SUPPRESSDISPLAYALERTS en stelt u deze in op 0 (nul). U kunt de berichten onderdrukken door de omgevingsvariabele te verwijderen of deze in te stellen op 1 (één).

Als u de fouten naar een logboekbestand wilt schrijven, maakt u een omgevingsvariabele met de naam VSTO_LOGALERTS en stelt u deze in op 1 (één). Met Visual Studio Tools voor Office Runtime wordt het logboekbestand gemaakt in de map die het implementatiemanifest voor de VSTO-invoegtoepassing bevat, of in de map die het document of de werkmap bevat die is gekoppeld aan de aanpassing. Als dat mislukt, maakt Visual Studio Tools voor Office Runtime het logboekbestand in de lokale %TEMP% map. Voor VSTO-invoegtoepassingen op toepassingsniveau is de standaardnaam invoegtoepassingsnaam.vsto.log. Voor projecten op documentniveau is de naam van het logboekbestand de documentnaam. extensie.log, zoals ExcelWorkbook1.xlsx.log. Als u logboekfouten wilt stoppen, verwijdert u de omgevingsvariabele of stelt u deze in op 0 (nul).