我正在使用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?
有谁知道如何确定异常是否是未处理的异常?
由于
答案 0 :(得分:1)
刚刚找到解决方案,只需创建两个不同的异常请求:
unhandledExceptionRequest = vm.CreateExceptionRequest(null, false, true);
unhandledExceptionRequest.Enable();
handledExceptionRequest = vm.CreateExceptionRequest(null, true, false);
handledExceptionRequest.Enable();