使用 Visual Studio 2022 调试Dapr 应用程序

使用Dapr 编写的是一个多进程的程序, 两个进程之间依赖于启动顺序来组成父子进程,使用Visual Studio 调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。好在有Visual Studio 扩展(Microsoft Child Process Debugging Power Tool 插件)可以支持。这个思路来自 https://github.com/dapr/dotnet-sdk/issues/401#issuecomment-747563695

e487cd0a2d0cffb16aac78759ab0445e.png

1、需要安装  PowerShell 7 / Core  (可使用命令行:dotnet tool install --global PowerShell)

2、需要安装 Visual Studio 扩展 Microsoft Child Process Debugging Power Tool 2022

安装插件后启动 Visual Studio,可以在 Debug -> Other Debugging Targets 中找到 Child Process Debugging Settings。

334c664cb8e4df927484f5fe85a01837.png

然后你可以按照下图的设置开启此项目的子进程调试:

da73e40b4d68e6cacfa93cbbc8c95a6d.png

我这里用的一个示例程序是 https://github.com/geffzhang/lab-dapr-with-famous-actors ,结合Dapr 和 Orleans 7.0 的一个Demo程序。

3、项目调试属性设置

4ccaa4fa011ee5e7d361a7078430016e.png

保存后会自动生成文件 launchSettings.json

d15fcaca34f811f766ea33b2e27dc262.png

launchSettings.json 内容也可以通过文件直接修改,效果等同,文件如下:

"Dapr-PWSH": {
   "commandName": "Executable",
   "executablePath": "pwsh",
   "commandLineArgs": "-Command \"dapr run --app-id modDaprWithFamousActors --app-port 5000 --app-protocol grpc --log-level debug -- dotnet run --no-build\"",
   "workingDirectory": ".",
   "environmentVariables": {
     "ASPNETCORE_ENVIRONMENT": "Development"
   },
   "nativeDebugging": true,
   "dotnetRunMessages": "true",
   "applicationUrl": "http://localhost:5000;https://localhost:5001"
}

现在,你只需要开始调试你的程序,那么你程序中启动的新的子进程都将可以自动加入调试。

效果如下:

d8ab74ebf87b3fb64ebe3ff6e92f12a8.png

值得注意的是,只要启动了本机代码调试,就不能在程序暂停之后修改代码了(像平时调试纯托管代码那样),还有一个方案是sidekick

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卸载 cube ui_如何还原Windows 8附带的已卸载现代UI应用程序

卸载 cube uiWindows 8 ships with built-in apps available on the Modern UI screen (formerly the Metro or Start screen), such as Mail, Calendar, Photos, Music, Maps, and Weather. Installing additional Modern UI apps is easy using the Windows Store, and unins…

Java Decompiler(Java反编译工具)

Java Decompiler官网地址:http://jd.benow.ca/ 官网介绍: The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-Core is a library that reconstructs Java sou…

MassTransit | 基于MassTransit Courier 实现 Saga 编排式分布式事务

Saga 模式Saga 最初出现在1987年Hector Garcaa-Molrna & Kenneth Salem发表的一篇名为《Sagas》的论文里。其核心思想是将长事务拆分为多个短事务,借助Saga事务协调器的协调,来保证要么所有操作都成功完成,要么运行相应的补偿事务以撤消先…

ccleaner无法更新_CCleaner正在静默更新关闭自动更新的用户

ccleaner无法更新CCleaner is forcing updates on users who specifically opt out of automatic updates. Users will only find out about these unwanted updates when they check the version number. CCleaner强制对专门选择退出自动更新的用户进行更新。 用户只有在检查版…

chrome浏览器崩溃_不只是您:Chrome浏览器在Windows 10的2018年4月更新中崩溃

chrome浏览器崩溃If your computer is hanging or freezing after installing the Windows 10 April 2018 Update you’re not alone, and Microsoft is aware of the problem. 如果在安装Windows 10 April 2018 Update之后计算机挂起或死机,您并不孤单,…

致敬青春岁月

昨天发生的一件神奇的事情。我们公司工会组织了一次小型的户外团建,有机会认识一些其他部门同事,没想到有一个同事小心地认出了我,然后还谈起了关于.NET技术和社区的一些发展的历史和故事。他在微软工作的时间比我久,但时空交错&a…

docker:自定义ubuntu/制作镜像引用/ubuntu换源更新

一、需求 1. 制作一个图像辨识的api,用到相同设置的ubuntu镜像,但是每次制作都要更新ubuntu和下载tesseract浪费半个到一个小时下载,所以制作一个自定义ubuntu几次镜像大大提高开发效率。 2. 制作ubuntu过程时,可以调试tesserac…

facebook人脸照片_为什么您的Facebook照片看起来如此糟糕(以及您可以如何做)...

facebook人脸照片Facebook is a popular platform for sharing photos, even though it’s not a very good one. They prioritize fast loading images over high quality ones. You can’t stop it from happening, but you can minimize the quality loss. Facebook是一个受…

用C#自己动手写个操作系统,爽!

自从C#的AOT编译机制发布以来,有趣的项目越来越多,今天给大家推荐一个开源项目,用C#开发的64位操作系统。项目简介这是一个使用.NET Native AOT技术编译的C# 64位操作系统,系统的基础功能基本都已经支持:网卡、多处理、…

Linux 用户名、主机添加背景色

文章参考:PS1应用之——修改linux终端命令行各字体颜色 Linux 用户名、主机添加背景色,用于生产环境,这样可以减少人为的误操作。 1 [rootzhang ~]# tail /etc/bashrc 2 ……………… 3 export PS1"\[\e[37;40m\][\[\e[37;41m\]\u\[\e[3…

python 调用文件上传图片简单例子

使用方法: python.exe .\test.py "fileD:\img\mark_1080.png" "matchWordListRUN" "urlhttp://192.168.0.37:8081/templateMatch" test.py import requests import sysif __name__ "__main__":print(参数个数为:, len(s…

如何从手机或PC将游戏下载到PlayStation 4

PlayStation 4 games can be huge, and take hours to download. Thankfully, you can start downloading games even when you’re away from home. All you need is Sony’s official smartphone app, or a web browser on any PC. PlayStation 4游戏可能非常庞大&#xff0c…

kaggle入门项目:Titanic存亡预测(三)数据可视化与统计分析

---恢复内容开始--- 原kaggle比赛地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Achieve 99% Accuracy Step 4: Perform Exploratory Analysis with Statistics 使用描述性与图表分析数据,重点在于数据可…

docker遇到问题归纳

/bin/sh^M: bad interpreter #在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r #可以用以下方式解决先在控制台cd到报错的目录#编辑报错的那个文件 vi xxx.sh#利用如下命令查看文件格式 :set ff 或 :set filef…

firefox 扩展_如何检查您的扩展程序是否将停止与Firefox 57一起使用

firefox 扩展With Firefox 57, scheduled for release in November 14, 2017, Mozilla will end support for legacy extensions, and only support newer WebExtensions. Here’s how to check if your extensions will stop working—and how to keep using them after Novem…

边缘服务网格 osm-edge

本文篇幅稍长,阅读本文将了解以下内容:•什么是 osm-edge 及其产生背景•边缘计算与中心云计算的差异,以及带来的挑战•osm-edge 的设计及采用的技术•5 分钟快速体验边缘服务网格关于 osm-edgeosm-edge 是针对边缘计算环境设计的服务网格&am…

powershell获取exe文件返回值

一、目的 1.powershell能简单写一些小脚本,不需要exe开发这么笨重。 2.在windows实现某个特定功能,做成一个exe能方便查看管理。 二、实现 1.C# code 运行结束加入返回值 Environment.ExitCode 1; //自定义数字 2.powershell 调用并获取 需要增加…

活水亭观书有感其一_如何将iPad置于“信息亭”模式,将其限制为单个应用程序...

活水亭观书有感其一An iPad makes a great “kiosk” device–a tablet restricted to one specific app for your home or small business. You can create a makeshift kiosk using the Guided Access feature, or enable Single App Mode for a true kiosk environment. iPa…

powershell 特殊符号处理

显示字符串有双引号 “ 两个双引号产生一个双引号,这里不包括最外层的双引号。 $a"PowerShell" """My name is $a"",this program said." 使用转义字符 转义序列由反引号定义,也就是键盘F1下面与波浪线同键…

IDEA 学习笔记之 安装和基本配置

安装和基本配置: 下载:https://www.jetbrains.com/idea/download/#sectionwindows 下载Zip安装包: 基础知识: Eclipse的工作区IDEA的项目 Eclipse的项目IDEA的模块 修改信息提示:Alt/ 关闭当前窗口:CtrlW 自…