Mono.Debugger.Soft - Exceptionhandling

时间:2016-09-20 17:43:31

标签: debugging mono

我正在使用Mono.Debugger.Soft API来控制单声道应用程序的软调试器。 我使用以下代码启用了所需的所有事件:

public static String formatElapsedTimeOver24h(long milliseconds) {

    // Compiler will take care of constant arithmetics
    if (24 * 60 * 60 * 1000 > milliseconds) {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS");
        sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

        return sdf.format(milliseconds);

    } else {
        SimpleDateFormat sdf = new SimpleDateFormat(":mm:ss.SSS");
        sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

        // Keep long data type
        // Compiler will take care of constant arithmetics
        long hours = milliseconds / (60L * 60L * 1000L);

        return hours + sdf.format(milliseconds);
    }
}

这非常好用,但如果我有一个被捕获或未被捕获的异常,则异常事件会上升。但不幸的是,我不知道应用程序中刚刚出现的异常是处理还是未处理的异常,并且周围的try / catch?

有谁知道如何确定异常是否是未处理的异常?

由于

1 个答案:

答案 0 :(得分:1)

刚刚找到解决方案,只需创建两个不同的异常请求:

        unhandledExceptionRequest = vm.CreateExceptionRequest(null, false, true);
        unhandledExceptionRequest.Enable();

        handledExceptionRequest = vm.CreateExceptionRequest(null, true, false);
        handledExceptionRequest.Enable();