它并不直接解决您的问题,但是对此question的答案是否可以帮助您?
具体来说,它使用项目上的自定义执行命令选项来解决问题。您可以定义自定义命令在调试器中执行应用程序:
打开“工程选项”,到了“运行>自定义命令”部分,对“执行”
添加自定义命令
它还提到了Debugger.Break行为:
如果您的应用单声道软调试器内部运行使用Mono 2.11或更高版本[...],它将设置软断点软调试器和作为工作预计
编辑:
你可以叫上一个正在运行的Mac应用程序的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
}
我启动应用程序运行'open/Applications/MyApp.app',所以我尝试传递'--debug',但没有运气附加调试器。我认为这里的复杂性在于它是一个Mac应用程序,我敢打赌一个控制台应用程序可以正常工作。自定义命令的好处,如果我觉得我需要调试,我会使用它 - 我只需要让自定义URL方案首先工作,我猜。 – jonathanpeppers
@jonathanpeppers编辑... – TheNextman
谢谢,现在应用程序已经打开时它会触发断点,但是如果应用程序尚未打开,它不会执行任何操作。有关于此的任何想法?无法从网址启动应用程序? – jonathanpeppers