gpt4 book ai didi

c# - 如何调试与低级 API(如 I/O 完成端口)交互的代码?

转载 作者:行者123 更新时间:2023-11-30 18:37:48 24 4
gpt4 key购买 nike

我编写了一个控制台应用程序,它使用 Socket*Async 方法集,它时常崩溃。它没有告诉我在哪里抛出同步代码等异常,控制台只是关闭,我不知道我做错了什么。

有没有办法在不知道在哪里放置 try/catch block 的情况下检测此类异步操作的异常?

我只需要知道是哪部分代码导致我的应用程序崩溃。

编辑:

未处理异常的常见情况是,当您使用 Visual Studio 调试代码时,它会暂停执行并向您显示导致异常的代码行(或至少是异常消息)。但在某些情况下(例如与 IOCP 等低级 API 交互)您的程序只是崩溃,调试结束时没有关于其原因的信息。

我需要的是一种查看特定异常的方法:
“发生了什么事或在哪里(以哪种方法)发生了,所以我的程序崩溃了?”

所以我不会问“我做错了什么?”,我会问“我怎样才能找出我做错了什么?”

  • 我可以在抛出异常的地方中断执行吗?
  • 我能否在崩溃后查看调用堆栈以确定导致崩溃的方法?
  • 您能提供一些建议来避免此类情况吗?

最佳答案

单击 调试菜单 -> 异常。确保抛出 Common Language Runtime Exceptions。有时 IDE 会取消选中此选项。我不知道为什么,但这很烦人。

关于c# - 如何调试与低级 API(如 I/O 完成端口)交互的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12190836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com