草庐IT

Breakpoints

全部标签

swift defer 语句不会断点但会打印

我把一个defer放在一个do里面,就像这样do{defer{self.captureSession?.commitConfiguration()print("commitConfiguration")}self.captureSession?.beginConfiguration()//tryabunchAVsessionsetupcalls...}catch{//error}我试图放置一个断点以确保延迟block在最后进入。令我惊讶的是,它没有。我检查了文档,运行了应用程序,似乎没有任何问题。所以我放了一个打印语句。你瞧,它确实打印了它,表明它可能确实执行了,即使调试断点从未被激活

swift - 如何编辑快速错误断点?

我想设置Swift错误断点来快速处理ErrorType的Swift错误。但是我没有得到WhattosetasTypevalueinBreakPoint? 最佳答案 如果您只是创建一个Swift错误断点,它会在任何符合ErrorType的地方中断。如果你在Type中放置一些东西,它只会在抛出该类型时中断。在以下内容中:enumMyError:ErrorType{caseAnError}enumMyOtherError:ErrorType{caseAnotherError}publicfuncthrowAnError(){do{thro

swift - 出现任何 "fatal error: unexpectedly found nil while unwrapping an Optional value"时中断

我有一个庞大的代码库,我想解决错误“fatalerror:在展开可选值时意外发现nil”做到这一点的最佳方法是什么?我尝试同时添加:(在断点子窗口中)“添加Swift错误断点”“添加异常断点”但这并没有做到。这是否意味着nil在某些框架代码中而不是我的代码中? 最佳答案 解包选项被编译器翻译成对_getOptionalValue()的调用,它在nil值的情况下调用_preconditionFailure(),它被转换为对_fatalErrorMessage()的调用。所以需要为_fatalErrorMessage设置断点。这里的技巧

xcode - 仅设置 "All Exceptions"断点时,Xcode 7 始终在应用程序启动时停止

自从Xcode6以来,我一直很困扰,每当我设置“AllExceptions”而没有任何其他断点时,Xcode会在我初始化时停止在开始处RootVC中的UILabelView包装器。如果我尝试删除引发行,另一条“随机”行将再次触发它。关于异常原因的思考? 最佳答案 此断点来自TFileDescriptorContext抛出的异常。AllExceptions也会在C++异常时停止。它可以很好地指示问题出在哪里。查看Info.plist中列出的所有字体是否都是您的应用程序包的一部分。当您使用Objective-C时,“通常”您对C++异常

ios - "Warning: Attempt to present * on * which is already presenting *"的断点

有时它会发生-从代码的不同地方-我们想要做UIViewController.presentViewController(a,b,c),有时我们已经在呈现了,在这种情况下我们得到:警告:尝试在已经呈现*的*上呈现*是否有可能打破这个警告?如何为此设置断点? 最佳答案 首先,您需要将符号断点设置为-[UIViewControllerpresentViewController:animated:completion:]。您可以通过Xcode的AddSymbolicBreakpoint功能轻松添加它。其次,您需要设置一个条件,以便仅当Vie

java - 在 Eclipse 中调试。在断点之间移动

我正在Eclipse中调试JAVA代码。假设迭代循环中有2个断点。如何直接转到断点,同时在每次迭代时跳过其余代码? 最佳答案 按F8(也是Resume按钮),这将带您到断点。从那里用F6调试每一行。如果要转到下一个断点,请按F8。 关于java-在Eclipse中调试。在断点之间移动,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8960571/

java - 在 Eclipse 中的每一行都放置一个断点?

有没有办法在Eclipse中的每一行都放置一个断点?我问的原因是因为我正在分析一个用Java编写的代理程序,它等待和监听连接。我试图了解它是如何工作的,但我无法弄清楚连接到达时代码从哪里开始。无论代码从哪里开始,如何触发断点,换句话说,每行都断点? 最佳答案 我想不出您想要在每一行都设置断点的原因。这相当于简单地在main()的第一行放置一个断点,然后使用stepinto单步执行您的程序——这不是正常人通常想要的与大型程序有关。我建议:删除或禁用您已有的任何断点以Debug模式启动代理;让它初始化。它现在正在收听。点击调试控件中的“

java - 无法在 Eclipse 中断点代码块的最后一条语句

if(true){Stringa="foo";Stringb="bar";}如果我在Stringa="foo";处设置断点,eclipse将停止,我可以跳过并在变量窗口中查看a的值。但我无法跨过第二条语句,它只是离开了代码块,而且我从未看到b的值。这迫使我在Stringb="bar";之后添加一个noop语句,以便我可以看到b包含的内容。我也无法在结束}上添加断点,我认为这可能是相关问题。我知道VisualStudio允许这样做,那么有没有办法在Eclipse中做到这一点? 最佳答案 在任意block的末尾设置断点是不可能的(没有字

java - Eclipse 在 processWorkerExit 上中断

在处理了几个请求后,我的eclipse开始中断processWorkerExit()方法。根据这个link我知道如何抑制eclipse的中断,但是是否有任何原因导致代码在此行中断。在这种情况下会不会有内存泄漏?Tomcat7.0.27eclipse3.7.2JDK7.0.02 最佳答案 答案在这里:OpenJDKbreaksonprocessWorkerExitwithnobreakpointIndebugmodeineclipsebydefault,breakonuncaughtexceptionsischecked.Sincey

java - 在 Java 中设置断点

在Java中设置断点是如何工作的?它只是基于源文件名和行号吗?类名或方法名是否也包含在内?如果我的调试器中有旧版本的源代码并设置了一个断点,当我单步执行时光标会关闭。它能有多远?它会进入错误的方法(如果该文件中有多个类,甚至是错误的类)吗?当JVM中有多个同名类时会发生什么(如果您有多个类加载器,就会发生这种情况)?他们都得到断点了吗?在Web应用程序容器中,我可以只为一个Web应用程序(而不是其他)设置断点吗?其中有多少是特定于IDE的,有多少是由JVM提供的调试接口(interface)决定的?例如:在Eclipse中,我可以根据变量的值设置条件断点。这只是Eclipse在JVM中