Visual Studio 中是否有办法 ASP.NET 附加到进程后停止执行的第一行

Is there a way in Visual Studio and ASP.NET to stop on the first line being executed after attaching to a process

提问人:Roger 提问时间:3/22/2023 更新时间:3/23/2023 访问量:70

问:

我正在开发一个 ASP.NET 应用程序,有时在用户在表单中执行操作(单击某处、编写、移动鼠标等)后,找到将在服务器上执行的确切代码行是一个耗时的过程: 您必须猜测将断点放在调试器停止的位置。

我知道我可以在控制器或 Load() 事件等中手动设置断点。但我想从 VS 那里得到一个“友好的建议”(叫我懒惰)

我的问题是:在 Visual Studio 中,你能“告诉”它吗:“嘿 Visual Studio,好孩子......你能在服务器上的第一条指令停止执行吗?我不知道会执行什么,但因为你比我聪明,我希望你给我看那条神奇的线,然后停下来,好吗?

提前致谢,

知道了

asp.net visual-studio 调试 断点

评论

1赞 mason 3/22/2023
我不知道。但是,您可以自由地将 System.Diagnostics.Debugger.Launch 语句放在代码中(我通常会在完成后删除它们,并且不会将它们提交到源代码管理中)。我不知道这是否适用于远程调试器,但根据我的经验,当应用程序在同一台机器上时,它运行良好。有了这些,再加上对代码的第一位在 ASP.NET Core中执行的位置(如Program.cs或Startup.cs或在 ASP.NET 中执行Application_Start事件)有一点了解,这对于调试启动问题非常有用。
1赞 CodeCaster 3/22/2023
您可以添加一个 DebugMiddleware,它只调用下一个 DebugMiddleware,并在其中放置一个断点。或者使用类似 ELMAH 的东西,看看哪个控制器被击中了。
0赞 Sergey Vlasov 3/23/2023
查看 stackoverflow.com/questions/73041905/...

答:

0赞 user20376806 3/23/2023 #1

起初,我想使用正则表达式来模拟新函数断点处所有事件的名称,但那里似乎不支持正则表达式。

但是,由于您使用的是 ASP.Net,因此可以使用 Google Chrome 或 Firefox 向 JavaScript 事件添加断点。你可以参考这里。或者给接收前端事件的方法添加断点,可以参考这里

希望能对你有所帮助