使用 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.pswp.cn/news/280408.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280408.shtml
英文地址,請注明出處:http://en.pswp.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…

rest_framework11:jwt簡單例子/自定制基于jwt認證類

jwt簡單例子 一、登陸設置 1.不需要寫login的視圖類,使用jwt內置的。 2.需要前置條件,已有繼承AbstractUser models,并且有數據,用于校驗,返回token。 urls.py from rest_framework_jwt.views import obtain_jwt_tokenurlpat…

Java各種數據類型,自己學習寫的筆記!!!

java編程規范: 1.良好的標識符的命名保留字不能作為標識符命名: class、public、static..., goto,const區分大小寫:helloWorld、HelloWorld 2.良好的注釋習慣 3.良好的縮進:沒遇到一個代碼塊縮進一次(一個tab鍵&…

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…

20位程序員關于求職的疑問,以及我給出的參考答案

作者:陸小鳳首發:公眾號【程序員江湖】閱讀本文大概需要 6 分鐘。前幾天發了一條朋友圈對于求職小伙伴們提出的問題,我進行了收集整理,統一反饋。也許這20個問題也是你們遇到的問題,所以趁著年前趕緊把它發出來。以下2…

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強制對專門選擇退出自動更新的用戶進行更新。 用戶只有在檢查版…

查找域內所有的Windows Server 2012 R2的服務器,并區分出哪些是物理機,那些是虛擬機...

通過使用Get-Adcomputer和Get-Wmiobject 組合來實現。思路是這樣的,先看一臺服務器的屬性值有什么可用利用的。[12r2-dc]: PS C:\> Get-ADComputer -Identity 12r2-dc -Properties *AccountExpirationDate :accountExpires …

rest_framework12:多登陸方式與自動簽發token/配置過期時間

多登陸方式與自動簽發token views.py 1.繼承Viewset,方法里可以使用自定義login,更直觀。需要路由直接配置請方式 2. 序列化是直接對request數據處理,并從對象中獲取token 3.context可以儲存自定義數據 # 多登陸方式,自動簽發…

20165310_獲獎感想與Java階段性學習總結

獲獎感想與Java階段性學習總結 一、Learning By Doing ? 在此之前,其實我并沒有想到能夠成為小黃杉的第一批成員之一,喜悅之余,也感受到了許多的壓力。小黃杉一方面代表了老師對于我這一階段學習成果的肯定,但同時也是對我的督促…

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…

談談- declare-styleable屬性

在Android開發中,往往要用到自定義的控件來實現我們的需求或效果。在使用自定義 控件時,難免要用到自定義屬性,那怎么使用自定義屬性呢? 一、簡單使用: 1.在文件res/values/下新建attrs.xml屬性文件,中定義…

docker:自定義ubuntu/制作鏡像引用/ubuntu換源更新

一、需求 1. 制作一個圖像辨識的api,用到相同設置的ubuntu鏡像,但是每次制作都要更新ubuntu和下載tesseract浪費半個到一個小時下載,所以制作一個自定義ubuntu幾次鏡像大大提高開發效率。 2. 制作ubuntu過程時,可以調試tesserac…

jQuery 屬性和CSS

HTML代碼&#xff1a; <div id"div1">div1<p>1</p><p>2</p><p>3</p> </div> <div id"div2">div2</div> <div id"div3">div3</div>attr()設置節點的屬性 $("#div1…

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編譯機制發布以來&#xff0c;有趣的項目越來越多&#xff0c;今天給大家推薦一個開源項目&#xff0c;用C#開發的64位操作系統。項目簡介這是一個使用.NET Native AOT技術編譯的C# 64位操作系統&#xff0c;系統的基礎功能基本都已經支持&#xff1a;網卡、多處理、…

JavaFX 學習筆記——窗口與控件

前言 如今比較流行的桌面gui框架有WPF、WinForm、Qt、javafx等。其中WPF和WinForm目前還只能在運行Winsows上。Qt(widget)是一個很強大的跨平臺C框架(不只是UI)&#xff0c;但用C寫界面實在有點蛋疼&#xff0c;且編譯出來的體積很大。 JavaFX是基于JAVA的開源桌面框架&#xf…

Linux 用戶名、主機添加背景色

文章參考&#xff1a;PS1應用之——修改linux終端命令行各字體顏色 Linux 用戶名、主機添加背景色&#xff0c;用于生產環境&#xff0c;這樣可以減少人為的誤操作。 1 [rootzhang ~]# tail /etc/bashrc 2 ……………… 3 export PS1"\[\e[37;40m\][\[\e[37;41m\]\u\[\e[3…