标签: debugging

开始学习Windbg

在被一个我根本没有调试知识的问题困扰之后,我决定我必须学习如何使用Windbg.我唯一的问题:我不知道从哪里开始:-(我不是一个真正的WinApi-Guy,通常使用通过抽象Windows Api抽象的语言.

所以我只是想知道:对于那些了解编程但不太了解Windows内在深度的人来说,学习Windbg的最佳源(书籍,网站)是什么?(是的,我每天都读旧的东西:))

debugging windbg

47
推荐指数
3
解决办法
9417
查看次数

分段错误的行号

我可以设置任何gcc选项,它会给我分段错误的行号吗?

我知道我可以:

  1. 逐行调试
  2. 将printfs放入代码中以缩小范围.

编辑:

  1. bt/ where在gdb上给出无堆栈.
  2. 有用的建议

debugging gcc gdb segmentation-fault

47
推荐指数
4
解决办法
9万
查看次数

最难跟踪的错误类型?

您必须跟踪和修复哪些最恶劣,最困难的错误以及为什么?

在我们发言的过程中,我既是真正的好奇又是膝盖深处.正如他们所说 - 苦难喜欢公司.

language-agnostic testing debugging

47
推荐指数
16
解决办法
3万
查看次数

在Eclipse中调试JavaScript

如何在Eclipse中调试JavaScript.我正在使用Eclipse 3.2.1.每次我点击侧面,它都会提供添加书签但没有断点的选项.

有人可以帮我吗?

javascript eclipse debugging remote-debugging

47
推荐指数
4
解决办法
11万
查看次数

Visual Studio:如何阻止窃取焦点的断点?

当一个断点击中在Visual Studio中,它偷焦点从任何其他应用程序的程序员正在查看/输入到的那一刻.这可能非常令人恼火,因为VS抓取程序员当时正在键入其他应用程序的任何键盘输入并将该输入作为自己的输入.

你们用什么技巧来防止这种焦点偷窃?

(我在Visual C++ 2008和2010上面对此问题.我猜测它对于Visual Studio以及所有最新版本都是一个问题.)

debugging focus breakpoints visual-studio

47
推荐指数
4
解决办法
4911
查看次数

我怎么知道我的python脚本挂在哪里?

所以我正在调试我的python程序并遇到一个使程序挂起的错误,就好像在无限循环中一样.现在,我之前遇到了无限循环的问题,但是当它挂断时我可以杀死程序并且python吐出一个有用的异常,告诉我当我发送kill命令时程序终止的位置.然而,现在,当程序挂断并且我按下ctrl-c时,它不会中止但会继续运行.我有什么工具可以用来找到挂机吗?我不熟悉分析,但据我所知,分析器只能为您提供有关已成功完成的程序的信息.或者您可以使用分析器来调试此类挂起吗?

python debugging

47
推荐指数
8
解决办法
5万
查看次数

在异常时启动IPython shell

当我的程序运行引发异常的行时,有没有办法启动IPython shell或提示?

我最感兴趣的是引发异常的范围(和子范围)中的上下文,变量.像Visual Studio的调试,当抛出异常但没有被任何人捕获时,Visual Studio将停止并给我调用堆栈和每个级别的变量.

你认为有一种方法可以使用IPython获得类似的东西吗?

编辑:-pdb启动IPython 的选项似乎没有做我想要的(或者我可能不知道如何正确使用它,这是完全可能的).我运行以下脚本:

def func():
    z = 2
    g = 'b'
    raise NameError("This error will not be caught, but IPython still"
                    "won't summon pdb, and I won't be able to consult"
                    "the z or g variables.")

x = 1
y = 'a'

func()
Run Code Online (Sandbox Code Playgroud)

使用命令:

ipython -pdb exceptionTest.py
Run Code Online (Sandbox Code Playgroud)

这会在引发错误时停止执行,但会给我一个IPython提示符,其中我可以访问脚本的全局变量,但不能访问函数func的局部变量.pdb只在我在ipython中直接输入导致错误的命令时调用,即raise NameError("This, sent from the IPython prompt, will trigger pdb.").

我不一定需要使用pdb,我只想访问里面的变量func.

编辑2:已经有一段时间了,IPython的-pdb选项现在正如我想要的那样工作.这意味着当我提出异常时,我可以返回范围func并读取其变量z …

python debugging ipython

47
推荐指数
5
解决办法
1万
查看次数

你如何调试Windows服务?

我阅读了有关该主题的MSDN文章.报价:

由于服务必须在服务控制管理器的上下文中而不是在Visual Studio中运行,因此调试服务并不像调试其他Visual Studio应用程序类型那样简单.要调试服务,必须启动该服务,然后将调试器附加到运行它的进程.然后,您可以使用Visual Studio的所有标准调试功能来调试应用程序.

现在我的问题是我的服务首先无法启动.首先它崩溃,并说:

MyServiceName.exe [3596]中发生未处理的异常(System.Runtime.InteropServices.COMException)

并建议我调试它(​​当我选择一个时,调试器实例会立即崩溃).然后它说

无法在本地计算机上启动MyServiceName服务.错误1053:服务未及时响应启动或控制请求

那么,我如何调查/调试我的服务无法启动的原因?问题是我创建了一个控制台应用程序,它完全可以完成服务的工作,并且工作正常.(我的意思是我只是将OnStart()方法和主循环的内容复制到main中.

任何帮助,将不胜感激.

该服务是用C#编写的,大量使用互操作.我正在使用VS2008

c# c++ debugging windows-services

47
推荐指数
7
解决办法
2万
查看次数

console.log.apply无法在IE9中运行

看起来我已经重新发明了这个轮子,但不知怎的,这在Internet Explorer 9中不起作用,但在IE6中也是如此.

function debug()
  if(!window.console) { 
    window.console = { log: function() { /* do something */ } };
  }
  console.log.apply(console, arguments);
}
Run Code Online (Sandbox Code Playgroud)

相关: 对javascript的Apply()问题

F12 Debugger告诉我这个"对象"(console.log)不支持'apply'方法.它甚至不被认为是一种功能吗?还有其他指示或想法吗?

javascript debugging console internet-explorer-9

47
推荐指数
2
解决办法
2万
查看次数

我不调试时如何禁用console.log?

我的代码中有很多console.log(或任何其他控制台调用),我只想在我的应用程序处于某种"调试模式"时才使用它们.

我似乎无法使用某种记录器功能和内部使用,console.log因为那时我不知道什么线发射它.也许只有try/catch,但我的日志非常通用,我不想在我的代码中尝试/ catch.

你会推荐什么?

javascript debugging logging

47
推荐指数
5
解决办法
4万
查看次数