Questions tagged «debugging»

调试是在计算机程序中查找和修复错误的有条不紊的过程。**重要提示:**该标签仅用于有关调试技​​术或调试本身的问题,而不用于请求帮助调试代码。




9
Xcode / iOS:如何确定代码是否正在DEBUG / RELEASE构建中运行?
我正在制作一个处理敏感信用卡数据的应用程序。 如果我的代码在调试模式下运行,我想将此数据记录到控制台并进行一些文件转储。 但是,在最终的Appstore版本(即以发布模式运行时)上,必须禁用所有这些功能(安全隐患)! 我将尽力回答我的问题;因此问题就变成“此解决方案路径是正确的还是最佳的实现方式?” // add `IS_DEBUG=1` to your debug build preprocessor settings #if( IS_DEBUG ) #define MYLog(args...) NSLog(args) #else #define MYLog(args...) #endif

14
为什么此for循环在某些平台上而不在其他平台上退出?
我最近开始学习C,并且正在上一门以C为主题的课程。我目前正在玩循环,并且遇到了一些奇怪的行为,我不知道该如何解释。 #include <stdio.h> int main() { int array[10],i; for (i = 0; i <=10 ; i++) { array[i]=0; /*code should never terminate*/ printf("test \n"); } printf("%d \n", sizeof(array)/sizeof(int)); return 0; } 在运行Ubuntu 14.04的笔记本电脑上,此代码未中断。它运行到完成。在我学校的运行CentOS 6.6的计算机上,它也可以正常运行。在Windows 8.1上,循环永远不会终止。 更奇怪的是,当我将for循环条件编辑为:时i <= 11,代码仅在运行Ubuntu的笔记本电脑上终止。它永远不会在CentOS和Windows中终止。 谁能解释内存中发生了什么,以及为什么运行相同代码的不同OS会产生不同的结果? 编辑:我知道for循环超出范围。我是故意的 我只是无法弄清楚在不同的操作系统和计算机上行为如何不同。

30
在调试模式下找不到此可执行文件的有效配置文件
我在尝试在设备上调试应用程序时收到此错误。 我创建了开发配置文件,就像在开发人员门户网站上提到的那样。在概要文件中选择了我的开发设备,然后从Target的代码签名身份菜单中选择了正确的概要文件。我多次创建了配置文件,还删除并重新安装了它,并重新创建了项目,但是每当我尝试在设备上调试时,我都会得到它。 顺便说一句,即席分发规定概要起作用。 我一整天都在寻找解决方案,但一无所获。有人有解决方案吗?



14
在Clojure中进行调试?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 使用repl时,调试Clojure代码的最佳方法是什么?
227 debugging  clojure 

1
是什么使Visual Studio调试器停止评估ToString覆盖?
环境:Visual Studio 2015 RTM。(我没有尝试过旧版本。) 最近,我一直在调试一些Noda Time代码,并且注意到当我获得类型的局部变量NodaTime.Instant(structNoda Time 的中心类型之一)时,“ Locals”和“ Watch”窗口似乎没有调用它的ToString()替代。如果我ToString()在监视窗口中显式调用,则会看到适当的表示形式,但否则只会看到: variableName {NodaTime.Instant} 这不是很有用。 如果更改覆盖以返回常量字符串,则该字符串将显示在调试器中,因此很明显它可以在其中显示它-只是不想在“正常”状态下使用它。 我决定在一个小样的演示应用程序中本地重现此内容,这就是我的想法。(请注意,在这篇文章的早期版本中,这DemoStruct是一个类,DemoClass根本不存在-我的错,但它解释了一些现在看起来很奇怪的评论...) using System; using System.Diagnostics; using System.Threading; public struct DemoStruct { public string Name { get; } public DemoStruct(string name) { Name = name; } public override string ToString() { Thread.Sleep(1000); // Vary this to see …

27
Spring RestTemplate-如何启用请求/响应的完整调试/日志记录?
我使用Spring RestTemplate已经有一段时间了,当我尝试调试它的请求和响应时,我总是碰壁。我基本上希望看到的东西与打开“ verbose”选项时使用curl时看到的东西相同。例如 : curl -v http://twitter.com/statuses/public_timeline.rss 将同时显示已发送的数据和已接收的数据(包括标题,cookie等)。 我已经检查了一些相关的帖子,例如: 如何在Spring RestTemplate中记录响应? 但是我还没有解决这个问题。 一种方法是实际更改RestTemplate源代码并在其中添加一些额外的日志记录语句,但是我发现这种方法确实是不得已的事情。应该有某种方式告诉Spring Web Client / RestTemplate以更友好的方式记录所有内容。 我的目标是能够使用以下代码执行此操作: restTemplate.put("http://someurl", objectToPut, urlPathValues); 然后在日志文件或控制台中获取相同类型的调试信息(与curl相同)。我相信这对于使用Spring RestTemplate并有问题的任何人都将非常有用。使用curl调试RestTemplate问题根本无法正常工作(在某些情况下)。

13
错误时自动启动python调试器
这是我很长时间以来一直想知道的一个问题,但是我从未找到合适的解决方案。如果我运行了一个脚本并且碰到了一个类似IndexError的错误,python将打印错误的行,位置和快速描述,然后退出。遇到错误是否可以自动启动pdb?我不反对在文件顶部添加多余的import语句,也不反对添加几行代码。
216 python  debugging 

10
Visual Studio拒绝忘记断点吗?
Visual Studio会记住以前的调试会话中的断点,这很棒。 但是,当我调试时,通过单击清除这些“旧”断点之一,它只是被临时删除。我的意思是下次调试时,以为我删除的断点又回来了。 这太烦人了-是否有设置使其不执行此操作?

3
在Visual Studio C ++中,什么是内存分配表示形式?
在Visual Studio中,我们所有人都有“ baadf00d”,在运行时在C ++中的调试器中检查变量时看到“ CC”和“ CD”。 据我了解,“ CC”处于DEBUG模式,仅表示何时对内存进行new()或alloc()并统一化。而“ CD”代表已删除或已释放的内存。我只在RELEASE版本中看到过“ baadf00d”(但是我可能错了)。 有时,我们会遇到解决内存泄漏,缓冲区溢出等问题的情况,这些信息非常有用。 有人会善良地指出何时以及在哪种模式下将内存设置为可识别的字节模式以进行调试吗?

15
如何检测IE11?
当我想检测IE时,请使用以下代码: function getInternetExplorerVersion() { var rv = -1; if (navigator.appName == 'Microsoft Internet Explorer') { var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } return rv; } function checkVersion() { var msg = "You're not using Internet Explorer."; var …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.