1.4 使用MonoTouch调试器
MonoTouch既可以在模拟器上进行调试,也可在设备上进行调试。要在模拟器上调试,需设置当前配置为Debug | iPhoneSimulator,设置一个断点,然后在主菜单中选择Run→Debug。要在设备上进行调试,需设置当前配置为Debug | iPhone,假如已经根据上一节的讲述设置了bundle id,那么要做的就是在主菜单中选择Run→Debug。生成和部署一个调试版本的应用程序到设备。MonoDevelop会生成和部署应用程序并启动调试器进入调试状态等待应用程序运行。应用程序在设备中运行后,MonoDevelop将进入如图1-23所示的调试会话。
有意思的是,调试器是以软调试方式实现的,支持通过Wi-Fi实现远程调试。因而,只要部署了调试版本,调试应用程序就不需要将设备连接到调试机器,它们只要处于同一网络即可。如上所述,最好使用Wi-Fi方式。此外,如果为调试机器设置一个公网IP地址,而设备在移动网络,就可对不在现场的远程客户端进行调试了,如进行beta测试。,当调试版本部署到设备时,会在应用程序添加调试配置信息。
注意 当然,将调试机器放在公网,会有潜在的攻击危险,因此必须考虑到这一点。一种可行的办法是,把一台没有多少有用信息的机器配置为远程调试机器。另外,还可以和测试人员协调好,限制调试机器在公共网络的开放时间。即使不需要异地调试,掌握该技术也是不错的选择(在写本书的时候,苹果还没有在它的工具链中提供远程调试)。即使在本地网络,远程调试也是在本地测试人员与开发人员之间做测试的有用工具。