你的代码中有没有错误,你无法解决?我希望我不是那里唯一一个有这种经历的人......
存在一些类别的错误,很难追查:
说实话,我不时自己修复这样的错误......经过几个小时(有时甚至是几天)的调试后,我觉得非常士气低落.
在这种情况下你做了什么(除了向别人寻求帮助之外并不总是可行的)?
你呢
请告诉我!
有许多方法可以进行调试,使用调试器就是其中之一,但对于谦虚,懒惰的程序员而言,简单的方法就是在代码中添加一堆打印语句.
即
def foo(x):
print 'Hey wow, we got to foo!', x
...
print 'foo is returning:', bar
return bar
Run Code Online (Sandbox Code Playgroud)
这种调试方式是否有正确的名称?
我正在使用jdi接口来创建调试器,当我使用MethodEntryRequests启用方法条目跟踪时,调试程序的速度减慢了几十倍.我为主线程设置了过滤器,并将策略暂停到SUSPEND_EVENT_THREAD.Classfilter是有限的,如果我打印任何收到的事件,它不会显示超过几十个,所以它不应该收到太多.我在本地调试并且使用调试的java程序跟随它的命令行:
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=y,server=y,address=1337
当我在Visual Studio中进行调试时,出于某种原因调试某个线程时,Visual Studio将跳转到不同的线程.
如何更改行为以使其位于同一个线程上?
debugging multithreading visual-studio visual-studio-debugging
我在Perl上编写了一个在Linux上运行的持久网络服务.
不幸的是,随着它的运行,它的Resident Stack Size(RSS)只是在缓慢但肯定地增长,增长和增长.
尽管我努力消除所有不需要的哈希键并删除对象的所有引用,否则会导致引用计数保留在原位并阻碍垃圾收集.
是否有任何好的工具可以在Perl程序中分析与各种本机数据原语,祝福散列引用对象等相关的内存使用情况?你用什么来追踪内存泄漏?
我不习惯在Perl调试器或任何各种交互式分析器中花费时间,因此我们将感激温暖,温和,非深奥的反应.:-)
我正在尝试追踪当我点击aspx页面上的特定元素时发生的错误...
在过去,我必须追踪处理该特定事件的类,并在我认为应该被击中的线上设置一个断点.在我最终找到正确的类之前,通常需要多次尝试....特别是如果类是一个隐藏在某处的用户控件...
因此,我想知道是否有任何方法可以让Visual Studio在单击aspx页面上的元素(例如按钮)后执行的下一行代码中断.我知道有一种方法可以打破任何抛出的异常,所以我想也许有类似的东西可以帮助我.
如果这种功能不可能,也许有人可以建议一种更好的方法让我快速找到我想要调试的类......
我有一个基于UnitTest ++的单元测试项目.我通常在代码的最后一行放置一个断点,以便我可以在其中一个测试失败时检查控制台:
n = UnitTest::RunAllTests();
if ( n != 0 )
{
// place breakpoint here
return n;
}
return n;
Run Code Online (Sandbox Code Playgroud)
但每次我从SVN重新签出代码时,我都必须重新插入它.是否可以通过编译器对断点进行某种程度的放置?:
n = UnitTest::RunAllTests();
if ( n != 0 )
{
// place breakpoint here
#ifdef __MSVC__
@!!!$$$??___BREAKPOINT;
#endif
return n;
}
return n;
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Eclipse中调试我的Java应用程序,但是当我遇到断点时,我只看到以下内容而不是我的源代码:

如果我在调试窗口中更改堆栈帧,那么我可以看到选项卡中的函数名称更改 - 这绝对是我的代码,行号是正确的,我使用的是最新版本,但我仍然无法将Eclipse转换为显示源(尽管它在另一个选项卡中打开!)
我是Eclipse的新手,因此我很难找到自己的方式,但到目前为止我遇到的所有事情对我来说都很好.
可能导致这种情况发生的原因以及如何解决?
我尝试在Python pdb中列出对象的所有属性.
假设我要列出所有属性和所有方法sys.stderr.
我怎样才能做到这一点?
所以iOS6已经出局了,可怕.现在,似乎Apple已经删除了以前在Safari中存在的"开发者控制台".很好,我听到很多人说 - 它很有限.
但是,它适用于设备 - 现在显然你必须将设备连接到Mac才能获得网络检查员?
这是用控制台调试的唯一方法吗?有没有办法调试Windows,Safari?请注意,我并不仅仅意味着只更改用户代理,您可以在Safari Windows上执行 - 不注册触摸事件 - 只需单击即可.
debugging ×10
breakpoints ×2
java ×2
c++ ×1
eclipse ×1
ios6 ×1
ipad ×1
jdi ×1
memory-leaks ×1
pdb ×1
perl ×1
profiler ×1
python ×1
visual-c++ ×1