它没有直接解决您的问题,但是这个问题的答案对您有帮助吗?
具体来说,它解决了在您的项目中使用自定义执行命令选项的问题。您可以定义一个自定义命令来在调试器中执行您的应用程序:
打开“项目选项”,进入“运行>自定义命令”部分,为“执行”添加自定义命令
它还提到了 Debugger.Break 行为:
如果您的应用在 Mono 2.11 或更高版本的 Mono 软调试器中运行 [...],它将为软调试器设置一个软断点并按预期工作
编辑:
您可以在已经运行的 Mac 应用程序上调用 URL……您可以设置一个处理程序来捕获事件,在内部设置断点并检查您的 URL 是否正确调用了已经运行的应用程序?它可能会为您提供有关行为的线索或进一步调试的方法。像这样的东西:
public override void FinishedLaunching(NSObject notification)
{
NSAppleEventManager appleEventManager = NSAppleEventManager.SharedAppleEventManager;
appleEventManager.SetEventHandler(this, new Selector("handleGetURLEvent:withReplyEvent:"), AEEventClass.Internet, AEEventID.GetUrl);
}
[Export("handleGetURLEvent:withReplyEvent:")]
private void HandleGetURLEvent(NSAppleEventDescriptor descriptor, NSAppleEventDescriptor replyEvent)
{
// Breakpoint here, debug normally and *then* call your URL
}