一:背景1. 讲故事
上个月接到了二个C# AOT程序的故障分析,发现如今的C# AOT程序也开始在各个领域开枝散叶了,这是一件非常好的事情,本着对这类程序有一个专业的维修态度,开一个系列好好聊一聊吧,当然我这里是漫谈,文章没有先后顺序,先从如何调试开始吧。
二:如何调试AOT程序1. 一个简单的例子
现在的VS非常强大,新建模板的时候就有一个 Enable native AOT publish 选项,勾完之后就会自动的在项目的 csproj 中添加配置节 <PublishAot>true</PublishAot> ,截图如下:
大家看到命中断点了也不要高兴的太早,VS只适合调试Debug模式发布出来的程序,而实际情况大家更多的是以Release模式发布的,这种模式下用 VS 就不能很好的调试了。
为了验证,我们简单的修改一下 Debug 改成 Release 模式,参考如下:
正在确定要还原的项目…
所有项目均是最新的,无法还原。
ConsoleApp1 -> D:\testdump\
有可用的工作负载更新。有关详细信息,请运行 `dotnet workload list`。
程序运行以来之后,可以看到那些 i,j,sum 都不见了踪影,无语了,截图如下:
当然 WinDbg 的功能不限于此,后面还有更多牛叉的功能,在系列文章后面再展开吧。
三:总结
工欲善其事必先利其器,对未知知识的探索必然需要一个好的工具,希望本篇给大家带来一些灵感吧。
雷霆女神 | 7天前 |
非常好用的app,让我省去了很多麻烦,非常满意! |
甜心小公主 | 3天前 |
使用这个app的过程中出现了一些闪退的情况,希望能够解决这个问题。 |
晚秋骄阳 | 4天前 |
使用起来有些卡顿,希望能够优化一下性能。 |
偶尔快乐 | 7天前 |
省时省力,真是个神器! |
魔法宝贝 | 8天前 |
我很爱,设计的很有新意,有创新点很实用!!!很给力,喜欢,下载后用了一下,感觉很好,棒棒哒,喜欢。 |
心似狂潮 | 5天前 |
使用起来非常顺手,帮我解决了很多问题,感谢开发者! |
幸福小精灵 | 4天前 |
简单实用,推荐! |
甜蜜宝贝 | 5天前 |
太好了!我非常喜欢 内容新颖,非常不多,好棒的软件好好玩,我一般不留言的。 |
萌萌哒 | 9天前 |
超级好用的app,简单方便,一键操作,真的很赞! |
承诺代表我的心 | 9天前 |
这个app根本就没有提供任何帮助,白白浪费了我的时间和精力! |