在应用程序级项目中进行调试

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • 2007 Microsoft Office system

  • Microsoft Office 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

可以使用与用于其他 Visual Studio 项目相同的 Microsoft Visual Studio 工具来调试应用程序级项目。当您调试应用程序级项目时,也可以使用 Visual Studio 调试器功能,比如插入断点以及在“局部变量”窗口中查看变量的功能。 有关 Visual Studio 调试工具的更多信息,请参见使用 Visual Studio 进行调试。 有关应用程序级项目的更多信息,请参见 应用程序级外接程序的体系结构

启动和停止调试器

您可以像开始调试其他 Visual Studio 项目一样开始调试应用程序级项目;例如,可以按 F5 键。在开始调试项目时,将启动目标 Office 应用程序的新进程并加载外接程序。 在停止调试器时,调试器将无条件终止该应用程序进程或分离该进程(如果已将调试器设置为分离的话)。 有关更多信息,请参见 Brief 方案 -> 调试快捷键

显示异常

如果使用 Visual Studio Tools for Office 创建的外接程序引发异常,Microsoft Office 应用程序将继续而不显示异常。如果您想查看外接程序异常是何时引发的,请设置调试器在所有异常上中断。 有关更多信息,请参见 如何:处理 Office 项目中的错误

也可以在可能会引发异常的代码周围插入 Try...Catch 语句。有关如何使用 Try...Catch 语句的更多信息,请参见如何:在 Visual Basic 中使用 Try...Catch 块测试代码如何:使用 try/catch 处理异常(C# 编程指南)

调试已禁用的外接程序

Microsoft Office 应用程序可以禁用加载时发生意外行为的外接程序。 Microsoft Office 应用程序禁用外接程序以防止该应用程序每次启动时加载有问题的代码。 但是,这也容易在典型的调试过程中导致意外行为。 有关如何重新启用外接程序的信息,请参见如何:重新启用已禁用的外接程序

Microsoft Office 应用程序对外接程序使用的禁用类型有两种:硬禁用和软禁用。

硬禁用

当加载外接程序时运行的代码导致应用程序意外关闭时,或者如果在构造函数或 Startup 事件处理程序正在执行时停止调试器,会发生硬禁用。

如果 Microsoft Office 2003 应用程序硬禁用使用 Visual Studio Tools for Office 创建的外接程序,则应用程序将同时禁用外接程序和 AddinLoader.dll。 AddinLoader.dll 用于加载使用 Visual Studio Tools for Office 创建的外接程序。 因此,系统将阻止为当前用户加载所有使用 Visual Studio Tools for Office 为该 Microsoft Office 应用程序创建的外接程序。 有关 AddinLoader.dll 的更多信息,请参见应用程序级外接程序的体系结构

如果 2007 Microsoft Office system 应用程序硬禁用使用 Visual Studio Tools for Office 创建的外接程序,则应用程序将只禁用造成故障的外接程序。 因此,使用 Visual Studio Tools for Office 为该 Office 2007 应用程序创建的其他外接程序将继续加载。

软禁用

当外接程序在构造函数或 Startup 事件处理程序中引发未处理的异常,而 Microsoft Office 应用程序未意外关闭时,会发生软禁用。 应用程序可能只会禁止为当前用户加载当前外接程序。 当应用程序软禁用外接程序时,它会将外接程序的 LoadBehavior 注册表项的值设置为 2。LoadBehavior 项位于以下注册表项下:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\<应用程序名称>\Addins\<外接程序名称>。有关此注册表项的更多信息,请参见应用程序级外接程序的注册表项

使用日志文件和错误信息解决外接程序问题

Visual Studio Tools for Office 运行时可将启动过程中发生的所有错误写入日志文件,或者在消息框中显示每个错误。 默认情况下,这些选项是禁用的。 可以通过创建环境变量来启用这些选项。

若要在消息框中显示每个错误,请创建一个名为 VSTO_SUPPRESSDISPLAYALERTS 的环境变量,并将其设置为 0(零)。 可以通过删除该环境变量或将其设置为 1(一)来取消显示消息。

若要将错误写入日志文件,请创建一个名为 VSTO_LOGALERTS 的环境变量,并将其设置为 1(一)。 Visual Studio Tools for Office 运行时将在包含应用程序清单的文件夹中创建日志文件。 默认名称为 <清单名称>.manifest.log。 若要停止记录错误,请删除该环境变量或将其设置为 0(零)。 

请参见

任务

如何:重新启用已禁用的外接程序

如何:处理 Office 项目中的错误

概念

应用程序级外接程序编程

其他资源

生成和调试 Office 解决方案