debugging - 如何调试从 FullTrustProcessLauncher 启动的 .exe

标签 debugging uwp desktop-bridge

我在同一个解决方案中构建了一个 UWP 应用和一个 WPF 应用。我正在使用 Full​Trust​Process​Launcher 类从 UWP 应用程序启动 WPF 应用程序。我还使用 App​Service​Connection 类来允许两个应用程序相互通信。这一切在基本场景中都可以正常工作。但是,一旦我开始真正开发超出示例的 WPF 应用程序,我将需要在 Visual Studio 中开始调试。

我尝试了以下方法:

  1. 在 WPF 代码中设置断点。

结果:我没想到这会奏效,它没有。

  1. 在 UWP 启动后附加到正在运行的 WPF 进程。

结果:选择正在运行的 WPF 进程时的“附加”按钮灰显。

  1. 我开始研究新的 VS 扩展“桌面桥调试项目”,并跟进示例和文档。

结果:我能找到的所有示例似乎都围绕着将现有 WPF 应用程序转换为 UWP。因此,我认为这不是解决方案。我可能是错的......

以下是从 UWP 应用启动我的 WPF 应用的相关代码:

int messageNumber;
    private async void Button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        if (this.messageNumber == 0)
        {
            await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
        }
        this.messageNumber++;

        await AppServiceManager.SendMessageAsync(
          $"Message number {this.messageNumber}");
    }

正如我上面提到的,现在我只是按照微软的例子。我最终希望添加更复杂的代码并能够进行调试。

我还能如何获得从 UWP 应用启动的 WPF 应用的调试功能?

谢谢

最佳答案

为了调试 UWP 项目中的完全信任进程,您必须在不调试的情况下启动 UWP 进程(或从中分离调试器)。然后将调试器附加到完全信任进程,您的断点将被命中。

我意识到这不是一个理想的工作流程,我们正在努力在未来的 VS 更新中改进这一点。

关于debugging - 如何调试从 FullTrustProcessLauncher 启动的 .exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44086262/

相关文章:

c++ - 如何使用 Android Studio 2.2.3 调试外部 native 库的 C++ 源代码?

c# - 使用自定义商店区域解析货币

c# - 试图从Polar H10获得心率变异性[蓝牙低能耗样本UWP]

.net - 桌面桥应用程序中的桌面快捷方式。我们从哪里获取AppUserModelId

c# - 检测 Centennial 应用程序启动以防止出现多个实例

winapi - 桌面应用程序转换器转换失败 'E_NO_COMPATIBLE_EXPANDED_BASE_IMAGE'

php - PHP解析/语法错误;以及如何解决它们

java - 如何确定 java.lang.ArrayIndexOutOfBoundsException 原因?

java - 使用 Eclipse 调试器调试 Eclipse CDT 时出现奇怪的行为

c# - RelativePanel 中的 UWP WebView 不显示网页