Debugging 如何帮助调试应用程序(在本例中是基于Qt的)?

Debugging 如何帮助调试应用程序(在本例中是基于Qt的)?,debugging,Debugging,首先,我不是程序员。但我的工作依赖于一些应用程序,我想帮助调试这些应用程序。 那么,你认为什么是有用的bug报告?您希望获得什么样的数据以便于确定问题?我是否可以使用任何工具来提供您认为有用的额外数据 最近我升级到了一个新版本的3d软件包,在我的Fedora21上的linux版本运行得相当糟糕,这让我开始思考。例如,在Gnome上(在Xfce上是ok的),主应用程序窗口中的弹出窗口(该应用程序基于Qt)都不起作用。更有趣的是,弹出窗口在应用程序的浮动窗口中工作。正如你可能想象的那样,我对修复这些

首先,我不是程序员。但我的工作依赖于一些应用程序,我想帮助调试这些应用程序。 那么,你认为什么是有用的bug报告?您希望获得什么样的数据以便于确定问题?我是否可以使用任何工具来提供您认为有用的额外数据

最近我升级到了一个新版本的3d软件包,在我的Fedora21上的linux版本运行得相当糟糕,这让我开始思考。例如,在Gnome上(在Xfce上是ok的),主应用程序窗口中的弹出窗口(该应用程序基于Qt)都不起作用。更有趣的是,弹出窗口在应用程序的浮动窗口中工作。正如你可能想象的那样,我对修复这些问题非常感兴趣,因此我想发送revalant信息


您将很快了解到,在调试方面,您的程序可以拥有的最大资产之一就是日志记录。记录一般信息是可以的,但是当涉及到调试系统时,例外情况是您正在寻找的金块

你至少应该记录下

  • 异常的类型
  • 提出的日期和时间
  • 异常中可能相关的任何附加信息
  • 调用堆栈

希望这对您有所帮助……

是的,Martin,在记录我遇到的问题以及将这些问题发送给程序员/客户支持时,我会尽量严格要求。但作为一个非程序员,我很难判断什么是重要的。通常我不知道有哪些工具/命令可以为调试人员提供更多信息。例如,您提到发送callstack,这让我大吃一惊;)。调用堆栈基本上是对您在程序中所处位置的面包屑试验。。。因此,如果我运行了方法A,它反过来调用方法B,我们现在从那里调用了方法C(即两层嵌套),那么调用堆栈看起来就像是A()>B()>C()。