为什么我不能在线下断点String a;?
public void localMethod() {
String a;
a = "haha";
System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)
我知道局部变量在显式为其赋值之前不会被初始化。但它只是一行代码,它做了一些事情。为什么我不能停在那里?哪些行可以作为断点?
我使用的是Eclipse,jdk6_31
我使用的是 Visual Studio 2012。问题是当我使用断点来调试代码并设置要中断的特定行时,断点会在该行上中断,但在该行执行之前。我需要执行该行,然后在该行上中断(执行后),以便我可以看到分配的值,否则现在我必须在每个断点之后添加额外的行并在该行上中断。有什么建议么?谢谢!
到目前为止,我NSUncaughtExceptionHandler在代码中使用过:
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"*************************************************");
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
NSLog(@"*************************************************");
}
NSUncaughtExceptionHandler *exceptionHandlerPtr = &uncaughtExceptionHandler;
Run Code Online (Sandbox Code Playgroud)
我知道在 Xcode 中我可以为所有异常添加异常断点:

然后我可以编辑断点:

最后我不知道如何配置它来替换我的代码NSUncaughtExceptionHandler。

为什么我不能在私有实例方法中的以下行上放置断点:
const string errorMsg = "Test Exeption";
Run Code Online (Sandbox Code Playgroud)
我正在使用 Visual Studio 2015 企业版。
我试图忽略 pycharm 中的前 N 次命中的特定断点。由于我希望将其设置为 10k 之类的值,因此无法手动执行此操作。我找到了断点的扩展选项,包括该condition字段,但我不确定如何制作一个条件来考虑断点被击中的次数。谢谢。
如何在通用类/方法上设置函数断点?
我可能正在尝试找出要使用的语法。这是我想设置的类/方法:-
namespace MyCustom.SpecialNS
{
public class SomeGenericConditionClass<T> : BaseConditionNS.WhenCondition<T> where T : BaseRuleNS.RuleContext
{
protected override bool Execute(T ruleContextParam)
{
string hello = "Hello. Set Breakpoint here!";
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
作为仅供参考,我正在尝试调试第三方 dll,其中我设置了其他方法来使用函数断点调试常规的具体类/方法。即我可以设置
MyCustom.SpecialNS.SimpleConcreteClass.BasicExecute(MyCustomAttrNS.MyAttributeType)
Run Code Online (Sandbox Code Playgroud)
它将成功打破。但是对于泛型,我不确定T是什么类型,或者正确设置Function Breakpoint的语法是什么,而且它是第三方DLL,所以我不能直接打开代码点击创建断点.
我试过了
MyCustom.SpecialNS.SomeGenericConditionClass.Execute
Run Code Online (Sandbox Code Playgroud)
和
MyCustom.SpecialNS.SomeGenericConditionClass<T>.Execute<T>
Run Code Online (Sandbox Code Playgroud)
以及围绕它的许多其他变化,但我无处可去。
有任何想法吗?
在阅读本文档时,
我没有发现软件和硬件观察点之间的区别。我读到软件断点(不是观察点)用不正确的指令替换指令以触发中断(然后停止程序),并且硬件断点将指令的地址放在寄存器中并将其与每个指令进行比较执行的指令。
但是,我在观察点的文档中读到“GDB 通过单步执行程序并每次测试变量的值来执行软件观察点”,这基本上是我理解的硬件观察点的定义。
有人对软件和硬件观察点之间的区别有更好的理解吗?
我正在尝试在Windows上编写一个简单的调试器来调试32位应用程序,我的机器是64位的。我用的是C语言。
0xCC当我在指定地址添加断点( )时,我期望获得EXCEPTION_BREAKPOINT以下值debugEvent.u.Exception.ExceptionRecord.ExceptionCode
然而我STATUS_WX86_BREAKPOINT(0x4000001F)却得到了。MSDN 网站将其定义为“Win32 x86 仿真子系统使用的异常状态代码”。。对于这种行为没有任何进一步的解释。
我可以像处理这个异常一样吗EXCEPTION_BREAKPOINT?所以代码将如下
switch(debugEvent.u.Exception.ExceptionRecord.ExceptionCode)
{
...
case EXCEPTION_BREAKPOINT:
case STATUS_WX86_BREAKPOINT:
HandleBreakPoint();
break;
...
}
Run Code Online (Sandbox Code Playgroud) 搜索上面显示了许多关于如何为在 docker 容器中运行的应用程序设置断点的结果,但我对在Dockerfile 自身中设置断点很感兴趣,以便docker build在断点处暂停。例如Dockerfile:
FROM ubuntu:20.04
RUN echo "hello"
RUN echo "bye"
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来设置断点,RUN echo "bye"这样当我调试它时Dockerfile,图像将非交互式地构建到这RUN echo "bye"一点,独占。之后,我将能够与容器交互运行命令。在实际的Dockerfile我,有RUN断点变革的图像的文件系统正在建立之前S,我想能够以交互方式运行命令来分析在断点图像的文件系统像cd/ ls/find在时间断点。
breakpoints ×10
debugging ×4
c# ×3
c ×2
java ×2
android ×1
docker ×1
docker-build ×1
docker-image ×1
dockerfile ×1
gdb ×1
generics ×1
ios ×1
nsexception ×1
pycharm ×1
python ×1
swift ×1
watchpoint ×1
windows ×1
xcode ×1