标签: debugging

你如何处理间歇性的错误?

脚本

你有几个错误报告都显示同样的问题.他们都是神秘的,有关问题如何发生的类似故事.您按照步骤操作但不能可靠地重现问题.经过一些调查和网络搜索,你怀疑可能会发生什么,你很确定你可以解决它.

问题

遗憾的是,如果没有可靠的方法来重现原始问题,您无法验证它是否真正解决了问题,而不是完全没有任何影响或加剧和掩盖真正的问题.您可能无法修复它,直到它每次都可重现,但这是一个很大的错误而不修复它会导致您的用户出现很多其他问题.

你如何验证你的变化?

我认为对于任何设计软件的人来说,这是一个非常熟悉的场景,所以我确信有很多方法和最佳实践来解决这样的错误.我们目前正在研究我们项目中的其中一个问题,我花了一些时间来确定问题,但无法证实我的怀疑.一位同事正在测试我的修复,希望"没有崩溃的一天运行"等同于"它是固定的".但是,我更喜欢更可靠的方法,我认为这里有丰富的经验.

debugging validation

33
推荐指数
4
解决办法
7637
查看次数

"在我的机器上工作" - 如何修复不可重复的错误?

偶尔,尽管进行了所有的测试工作,我仍然会遇到一个客户的错误报告,我无法在办公室重现.


(向杰夫申请"借用"徽章)

我有一些"工具",我可以尝试找到并修复它们,但它总是让我觉得有点像刀和它一样: -

  • 要求客户提供越来越多的上下文:(systeminfo)
  • 从我们的应用程序记录日志
  • 与客户进行特别测试以尝试改变行为
  • 为客户提供具有额外诊断功能的新构建
  • 想一想洗澡中的问题......
  • 实地考察(假设客户在温暖和阳光充足的地方)

是否有设置程序或其他技术比任何人用来解决这样的问题?

testing debugging

33
推荐指数
4
解决办法
3264
查看次数

如何在Ubuntu中以eclipse身份调试应用程序?

我正在使用libpcap编程应用程序.当我在正常模式下调试应用程序时,pcap无法获取网络设备.似乎我必须在root中调试应用程序.如何在root中调试应用程序?我有root密码.我认为eclipse有这样的选项,可以为调试应用程序添加root,但我不知道该怎么做.请帮忙.

c eclipse debugging root libpcap

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

如何为我的Android Market APK创建证书?

我想将我的第一个APK /应用程序上传到Android Market,但是我收到了这个错误(顺便说一下,当我在stackoverflow中搜索时,它没有引导我找到正确的链接).

Market不接受使用调试证书签名的apks.创建一个有效期至少50年的新证书.市场要求用于签署apk的证书至少在2033年10月22日之前有效.创建新证书.

虽然事实证明这个问题很相似,但这个人只是说"哦,你提醒我怎么做"而没有实际解释.我看过"答案"中提到的网站,但这是我的问题:

  • 我不知道我的keytool工具在哪里.在Android的网站是非常模糊的,我没有在我的..\android-sdk-windows\tools目录中看到任何类型的"keytool".
  • 我想我以前做过这个,但是我希望我有一组步骤,比如"打开一个命令提示符,导航到keytool所在的目录,输入命令'xyz -flagsforxyz',然后指向Eclipse中的'export release apk'选项中的keystore"......或者类似的东西.

我希望你能说我已经尝试了一些东西!我可能只是忽略了一些简单的事情 - 所以是时候将这些步骤记录在stackoverflow中了!谢谢你的帮助.

debugging android release certificate google-play

33
推荐指数
1
解决办法
3万
查看次数

你如何用sed"调试"正则表达式?

我正在尝试使用正则表达式sed.我用kiki测试了我的正则表达式,这是一个用于测试regexpd的gnome应用程序,它在kiki中运行.

date: 2010-10-29 14:46:33 -0200;  author: 00000000000;  state: Exp;  lines: +5 -2;  commitid: bvEcb00aPyqal6Uu;
Run Code Online (Sandbox Code Playgroud)

我想author: 00000000000;什么都不替换.所以,我创建了正则表达式,当我在kiki中测试它时有效:

author:\s[0-9]{11};
Run Code Online (Sandbox Code Playgroud)

但是当我测试它时不起作用sed.

sed -i "s/author:\s[0-9]{11};//g" /tmp/test_regex.txt
Run Code Online (Sandbox Code Playgroud)

我知道正则表达式有不同的实现,这可能是问题所在.我的问题是:我如何至少尝试"调试"sed发生的事情?为什么不起作用?

regex linux debugging sed

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

document.cookie究竟是如何工作的?

如果我让Chrome document.cookie通过进入控制台并输入document.cookie;它来给我看,我会告诉我,说:

"name=John; gender=male";

但是如果我输入,比方说,document.cookie = 5;它所做的只是添加5;到字符串的开头,所以我得到:

"5; name=John; gender=male";

如果我尝试document.cookie = null;那么它甚至什么都不做.

怎么会这样?这是一个变量,不是吗?那么为什么赋值运算符不应该以它应该的方式工作呢?它实际上只是一些语法糖而不是一个真正的变量?如果是这样,糖究竟是什么?

javascript debugging google-chrome javascript-debugger

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

如何让PHP显示错误?(我添加了ini_set和error_reporting,但只提供了500个错误)

所以,我当前的网页上确实没有任何错误,但我希望能够在弹出时看到错误,而不是HTTP 500错误页面.我google了一下,并认为添加这两行将解决所有问题.

ini_set('display_errors', 'On');
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)

注意:我无法访问php.ini文件,因为我正在使用我的学校帐户的服务器.

所以我在页面顶部介绍了一个bug(在$ buggy之后没有分号):

<?php 
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$buggy

$x = 4 + 2;
...
Run Code Online (Sandbox Code Playgroud)

但是,我只是收到服务器错误:

"该网站在检索http://mywebpage.com/时遇到错误.可能是因为维护失败或配置不正确."

有任何想法吗?

编辑:

我重新配置了我的代码:

<?php 
include_once 'database/errorSettings.php';
?>
<?php 

$buggy // whoops
$x = 4 + 2;
...
Run Code Online (Sandbox Code Playgroud)

errorSettings.php如下:

<?php
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);
?>
Run Code Online (Sandbox Code Playgroud)

但它仍然无效...错误的重新配置方式?

html php debugging

33
推荐指数
3
解决办法
13万
查看次数

Laravel 5 - env本地调试true没有显示错误

我正在尝试为我的应用启用调试,但看起来我没有任何反馈.

环境设置为本地(在.env文件中),如果我运行

php artisan env
Run Code Online (Sandbox Code Playgroud)

我明白了

Current application environment: local
Run Code Online (Sandbox Code Playgroud)

我本地环境的调试配置设置为 true

return [

    'debug' => true,
Run Code Online (Sandbox Code Playgroud)

此外,如果我在我的主配置文件(配置文件夹中的app.php)中设置,debug = true我仍然有反馈说代码中有错误.

如果代码中有错误,我只有一个空页面(对于debug = false)

我错过了什么?

php debugging env laravel laravel-5

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

退出Python调试器ipdb

我经常使用ipdb,只是跳转到一段孤立的代码,即很难编写一个使用它的真实脚本.相反,我用模拟编写了一个最小的测试用例并跳转到它.

工作流程的示例:

def func():
   ...
   import ipdb
   ipdb.set_trace()
   ...

def test_case():
    ...
    func()
    ...
Run Code Online (Sandbox Code Playgroud)

然后,调用

py.test test_file.py -s -k test_case
Run Code Online (Sandbox Code Playgroud)

现在,通常我只检查一个或两个变量,然后想要退出.更改代码并重新执行.

我该如何戒烟?手册说q退出调试器.它(真的)没有.在调试器实际终止之前,您必须退出几次.Ctrl-C和Ctrl-D的相同行为(多次击中Ctrl-D的挫折最终也会退出终端).

是否有一种强制退出的聪明方法?这个工作流程是否合理?这样做的标准方法是什么?

python debugging workflow exit ipdb

33
推荐指数
4
解决办法
1万
查看次数

chrome控制台网络中的"启动器其他"是什么?

当有人在我们的网站上进行报告和分析时,我会触发图像标记:

<img src="https://example.evyy.net/conv/?somechannel=cats&cid=3790&oid=123&cat1=premium&sku1=123&qty1=1&amt1=456&custid=qbc" />
Run Code Online (Sandbox Code Playgroud)

昨天我们发现交通量下降.要调试我访问了该站点并注册,使用控制台打开网络选项卡.

我在过滤器框中输入了"evyy",我看到了我的标签的3个订单项.

这是什么意思?是否应该只有1个订单项?一个项目的状态为302,另外两个项目的状态为200.那是好的吗?

屏幕附上.这看起来"正确"吗?在网络标签中是否有任何向下钻取我可以查看我们的跟踪是否存在问题?

在此输入图像描述

debugging console google-chrome-devtools

33
推荐指数
1
解决办法
3万
查看次数