我有一个从后台线程调用非托管库的方法。我在非托管调用周围放置了一个try catch块,但从未捕获。即时调试器改为捕获它。我究竟做错了什么?

    public bool TurnOn()
    {
        var connectionSucceeded = false;
        try
        {
            connectionSucceeded = turnOn(); //Unmanaged call
        }
        catch
        {
            connectionSucceeded = false; //Never reaches this block
        }

        return connectionSucceeded;
    }

最佳答案

调试器设置是否可以在引发非托管异常时进行处理?

检查Debug> Exceptions中的设置

另外,非托管异常是否肯定会直接在线程上引发,而不是在其他线程上的某些异步操作中抛出?

09-25 11:24