Tag: debugging

如何去GDB的上一行?

是否有可能在gdb去当前正在执行的行之前的行。 例如: void my_fun( somePtrType** arr,int start,int end) { // arr is an array of pointers to somePtrType //line a … some assignments swap(&arr[ind1] , &arr[ind2] ) ; //line b (current line ) } 我目前在线b,可以检查那里的arr值,但是我想回到a线,并且在那个时候检查arr的内容。 我认为这可能是不可能的,因为debugging器可以慢动作运行代码,但不能使其向后执行。 更多的见解..

有一个不可安装的版本的提琴手,或等效?

我的一个客户正在等待他的IT部门在他的桌面上安装Fiddler,以便他可以debugging他的Web应用程序…显然他的桌面需要ITpipe理员权限来安装任何东西。 有一个不可安装的版本的Fiddler,即独立的EXE(附加文件好吗)或一个可以运行在一个拇指驱动器或本地文件夹的等效程序?

如何在Chrome或Safari中为缩小的JS函数设置断点?

我想在Chrome或Safari JavaScriptdebugging器的“Cart.add”函数中设置一个断点。 问题是,这个函数是在一个大型的JS文件中定义的,它本身并不存在于一行上。 一些文档说,基于WebKit的debugging器在debugging控制台中支持“break”或“debug”命令,但是这些debugging器在较新版本中似乎不起作用。 在JS文件的那一行设置一个断点也不行 ,因为那行有很多function。 有什么build议么?

堆Win32下的腐败; 如何定位?

我正在研究一个正在破坏堆的multithreading C ++应用程序。 find这种腐败的常用工具似乎不适用。 源代码的旧版本(18个月)与最新发布的版本具有相同的行为,所以这已经存在了很长时间,并没有被注意到。 在缺点方面,不能使用源variables来确定何时引入错误 – 存储库中有很多代码更改。 崩溃行为的提示是在这个系统中生成吞吐量 – 数据的套接字传输被转化为内部表示。 我有一组testing数据,将定期导致应用程序exception(各种地方,各种原因 – 包括堆分配失败,因此:堆损坏)。 这种行为似乎与CPU功率或内存带宽有关; 每台机器越多,崩溃越容易。 禁用超线程核心或双核心核心会降低(但不会消除)腐败的速度。 这表明了与时间有关的问题。 现在这里是擦: 当它运行在一个轻量级的debugging环境(比如说Visual Studio 98 / AKA MSVC6 )时,堆损坏是相当容易重现的 – 十分钟或十五分钟之后,某些事情会发生可怕的exception,例如alloc; 当在一个复杂的debugging环境(Rational Purify, VS2008/MSVC9甚至Microsoft应用程序validation程序)下运行时,系统将变成内存速度限制,不会崩溃(内存限制:CPU没有达到50% ,磁盘指示灯不亮,程序运行的速度可以更快,消耗2G内存的1.3G内存)。 所以, 我可以在能够重现问题(但不能确定原因)或能够确定原因或无法重现的问题之间作出select。 我目前最好的猜测,接下来是: 获取一个疯狂的grunty框(以取代当前的dev盒:在E6550 Core2 Duo 2Gb内存); 这将使得有可能在强大的debugging环境下运行时导致崩溃导致错误行为; 要么 重写操作符new和delete以使用VirtualAlloc和VirtualProtect将内存尽快标记为只读。 运行在MSVC6下,让操作系统抓住正在释放内存的坏人。 是的,这是一个绝望的标志:谁将重写new和delete ? 我想知道这是否会像Purify等人一样慢。 并且,否:内置Purify仪器的运输不是一个选项。 一位同事刚刚走过去,问道:“堆栈溢出?我们现在正在堆栈溢出吗?!? 现在,问题是: 如何find堆腐败者? 更新:平衡new[]和delete[]似乎已经得到了解决这个问题很长的路要走。 应用程序现在大约两个小时才崩溃,而不是15分钟。 还没有。 还有什么build议? 堆腐败持续存在。 […]

使用Google Chromedebugging和编辑HTML页面中embedded的JavaScript

Chrome浏览器开发者工具允许您在浏览器中编辑javascript,如果javascript位于.js文件中。 但是,它似乎并不允许我编辑embeddedHTML页面的JavaScript。 即: <script type="text/javascript> // code here that I want to debug/edit </script> 这对我来说是一个很大的问题,因为我在某个页面中embedded了相当多的javascript。 类似于这个问题: 编辑网页的JavaScript块…生活,但这是关于Firefox,而不是铬。 如何使用Google Chrome开发者工具编辑embedded在HTML页面中的JavaScript?

步入属性/函数(F11)不能按预期方式工作

在Visual Studio 2010中,步入属性/函数( F11 )不能按预期工作。 它不会进入属性设置者或获取者。 我将Visual Studio 2005的解决scheme转换为2010 ,我想要进入的function是在一个单独的类库中的属性。 我如何才能让它像我期望的那样工作?

从exception对象中提取回溯信息

鉴于一个exception对象(来源不明)是否有办法获得它的回溯? 我有这样的代码: def stuff(): try: ….. return useful except Exception as e: return e result = stuff() if isinstance(result, Exception): result.traceback <– How? 一旦拥有它,我怎样才能从Exception对象中提取回溯?

如何中止WinDbg中的长时间操作?

WinDbg通常会进入*繁忙状态*执行操作。 通常这是由于一些错误,我试图dt some_variable_itll_never_find或设置一个断点的地方没有符号或1000年的其他错误,我在这个工具周围摸索。 有没有办法取消当前的操作?

如何在Eclipse中的第三方库中设置断点?

我从第三方库中得到一个类的NullPointerException。 现在我想debugging整个事情,我需要知道类从哪个对象。 但是在我看来,我不能在第三方的类中设置断点。 有没有人知道我的麻烦出路? 当然,我使用Eclipse作为我的IDE。 更新:库是开源的。

你如何修复一个你无法复制的bug?

这个问题说明了一切。 如果您有多个用户报告的错误,但没有logging日志中发生的错误,也不能重复错误,无论您尝试多么困难,您如何解决? 甚至可以吗? 我确信这发生在你身边的很多人身上。 你在这种情况下做了什么,最后的结果是什么? 编辑:我更感兴趣的是一个无法解决的错误,而不是一个无法解决的错误。 无法解决的错误是这样的,至less你知道有一个问题,并有一个起点,在大多数情况下,寻找它。 在一个不能expression的情况下,你会做什么? 你甚至可以做任何事情吗?