标签: debugging

是否有任何HTTP/HTTPS拦截工具,如Mac OS X的Fiddler?

我想知道是否有像fiddler这样的应用程序,但是对于mac OS X,因为我需要在Mac OS X中调试来自Web应用程序的一些请求.我曾经在Windows上使用fiddler进行操作,并且希望有这个工具可用在Mac上也是如此.

debugging macos https http sniffing

154
推荐指数
6
解决办法
14万
查看次数

在C++中__FILE __,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

假设您的C++编译器支持它们,是否有任何特殊原因使用__FILE__,__LINE__以及__FUNCTION__用于记录和调试目的?

我主要关注的是为用户提供误导性数据 - 例如,由于优化而报告错误的行号或功能,或者因此导致性能下降.

基本上,我可以信任__FILE__,__LINE____FUNCTION__永远做正确的事?

c++ debugging logging c-preprocessor

149
推荐指数
6
解决办法
23万
查看次数

你如何调试正则表达式?

正则表达式可能变得非常复杂.缺少空白区域使他们难以阅读.我无法通过调试器使用正则表达式.那么专家如何调试复杂的正则表达式呢?

regex debugging pcre

148
推荐指数
11
解决办法
3万
查看次数

我如何调试Ruby脚本?

我从Internet复制了以下Ruby代码并进行了一些更改.

__PRE__

但它不起作用!

请帮忙.我该怎么做才能自己调试程序?

ruby debugging

148
推荐指数
12
解决办法
15万
查看次数

NSLog使用Objective-C在iPhone中记录方法名称

目前,我们正在定义一个扩展日志机制来打印出日志的类名和源行号.

#define NCLog(s, ...) NSLog(@"<%@:%d> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \
    __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
Run Code Online (Sandbox Code Playgroud)

例如,当我调用NCLog(@"Hello world")时; 输出将是:

<ApplicationDelegate:10>Hello world
Run Code Online (Sandbox Code Playgroud)

现在我还想注销方法名称,如:

<ApplicationDelegate:applicationDidFinishLaunching:10>Hello world
Run Code Online (Sandbox Code Playgroud)

因此,当我们知道调用哪种方法时,这将使我们的调试变得更容易.我知道我们也有Xcode调试器,但有时候,我也希望通过注销来进行调试.

c iphone debugging objective-c

147
推荐指数
4
解决办法
6万
查看次数

有没有办法转储堆栈跟踪而不在java中抛出异常?

我正在考虑为我的Java应用程序创建一个调试工具.

我想知道是否有可能获得堆栈跟踪,就像Exception.printStackTrace()没有实际抛出异常一样?

我的目标是,在任何给定的方法中,转储堆栈以查看方法调用者是谁.

java debugging logging exception stack-trace

145
推荐指数
9
解决办法
7万
查看次数

如何在Chrome控制台中显示完整对象?

var functor=function(){
    //test
}

functor.prop=1;

console.log(functor);
Run Code Online (Sandbox Code Playgroud)

这只显示了仿函数的函数部分,无法在控制台中显示仿函数的属性.

javascript debugging google-chrome

145
推荐指数
6
解决办法
14万
查看次数

如何在Visual Studio调试器中显示动态分配的数组?

如果您有一个静态分配的数组,Visual Studio调试器可以轻松显示所有数组元素.但是,如果您有一个动态分配并由指针指向的数组,那么当您单击+以展开它时,它将仅显示该数组的第一个元素.是否有一种简单的方法来告诉调试器,将这些数据显示为Foo类型和X大小的数组?

c c++ debugging visual-studio

144
推荐指数
6
解决办法
5万
查看次数

为什么在IDE中调试更好?

我从事软件开发已有二十多年,使用C,Perl,SQL,Java,PHP,JavaScript和最近的Python进行编程.我从来没有遇到过一些问题,我无法通过一些仔细的思考调试,并且调试良好的调试print语句.

我尊重很多人说我的技术是原始的,在IDE中使用真正的调试器要好得多.然而根据我的观察,IDE用户似乎没有使用我的石刀和熊皮进行更快或更成功的调试.我真诚地愿意学习正确的工具,我从未被证明使用可视化调试器具有令人信服的优势.

此外,除了如何设置断点和显示变量内容的基础知识之外,我从未阅读过如何使用IDE有效调试的教程或书籍.

我错过了什么?是什么让IDE调试工具比周到使用诊断print语句更有效?

您能否建议显示更好的IDE调试技术的资源(教程,书籍,截屏视频)?


甜蜜的答案!非常感谢大家花时间.非常有启发性.我投了很多票,并且没有投票.

一些值得注意的要点:

  • 调试器可以帮助我对变量,代码或运行时环境的任何其他方面进行临时检查或更改,而手动调试则需要我停止,编辑和重新执行应用程序(可能需要重新编译).
  • 调试器可以附加到正在运行的进程或使用崩溃转储,而通过手动调试,"重现"缺陷的步骤是必要的.
  • 调试器可以以更易读的方式轻松地显示复杂的数据结构,多线程环境或完整的运行时堆栈.
  • 调试器提供了许多方法来减少执行几乎所有调试任务的时间和重复性工作.
  • 可视调试器和控制台调试器都很有用,并且有许多共同的特性.
  • 集成到IDE中的可视化调试器还使您可以在单个集成开发环境(即名称)中方便地访问IDE的智能编辑和所有其他功能.

ide debugging

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

如何在Safari中更改console.log的默认行为?

在没有附加组件的Safari中,console.log将在最后执行状态下显示对象,而不是在console.log调用时的状态.

我必须克隆对象只是为了输出它console.log来获取该行的对象状态.

例:

var test = {a: true}
console.log(test); // {a: false}
test.a = false; 
console.log(test); // {a: false}
Run Code Online (Sandbox Code Playgroud)

javascript debugging console logging clone

144
推荐指数
4
解决办法
10万
查看次数