我想知道是否有像fiddler这样的应用程序,但是对于mac OS X,因为我需要在Mac OS X中调试来自Web应用程序的一些请求.我曾经在Windows上使用fiddler进行操作,并且希望有这个工具可用在Mac上也是如此.
假设您的C++编译器支持它们,是否有任何特殊原因不使用__FILE__,__LINE__以及__FUNCTION__用于记录和调试目的?
我主要关注的是为用户提供误导性数据 - 例如,由于优化而报告错误的行号或功能,或者因此导致性能下降.
基本上,我可以信任__FILE__,__LINE__并__FUNCTION__以永远做正确的事?
正则表达式可能变得非常复杂.缺少空白区域使他们难以阅读.我无法通过调试器使用正则表达式.那么专家如何调试复杂的正则表达式呢?
我从Internet复制了以下Ruby代码并进行了一些更改.
__PRE__
但它不起作用!
请帮忙.我该怎么做才能自己调试程序?
目前,我们正在定义一个扩展日志机制来打印出日志的类名和源行号.
#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调试器,但有时候,我也希望通过注销来进行调试.
我正在考虑为我的Java应用程序创建一个调试工具.
我想知道是否有可能获得堆栈跟踪,就像Exception.printStackTrace()没有实际抛出异常一样?
我的目标是,在任何给定的方法中,转储堆栈以查看方法调用者是谁.
var functor=function(){
//test
}
functor.prop=1;
console.log(functor);
Run Code Online (Sandbox Code Playgroud)
这只显示了仿函数的函数部分,无法在控制台中显示仿函数的属性.
如果您有一个静态分配的数组,Visual Studio调试器可以轻松显示所有数组元素.但是,如果您有一个动态分配并由指针指向的数组,那么当您单击+以展开它时,它将仅显示该数组的第一个元素.是否有一种简单的方法来告诉调试器,将这些数据显示为Foo类型和X大小的数组?
我从事软件开发已有二十多年,使用C,Perl,SQL,Java,PHP,JavaScript和最近的Python进行编程.我从来没有遇到过一些问题,我无法通过一些仔细的思考调试,并且调试良好的调试print语句.
我尊重很多人说我的技术是原始的,在IDE中使用真正的调试器要好得多.然而根据我的观察,IDE用户似乎没有使用我的石刀和熊皮进行更快或更成功的调试.我真诚地愿意学习正确的工具,我从未被证明使用可视化调试器具有令人信服的优势.
此外,除了如何设置断点和显示变量内容的基础知识之外,我从未阅读过如何使用IDE有效调试的教程或书籍.
我错过了什么?是什么让IDE调试工具比周到使用诊断print语句更有效?
您能否建议显示更好的IDE调试技术的资源(教程,书籍,截屏视频)?
甜蜜的答案!非常感谢大家花时间.非常有启发性.我投了很多票,并且没有投票.
一些值得注意的要点:
在没有附加组件的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)