Tag: bug跟踪

为什么gcc和clang都会为这个程序产生不同的输出? (转换运算符vs构造函数)

程序: #include <stdio.h> struct bar_t { int value; template<typename T> bar_t (const T& t) : value { t } {} // edit: You can uncomment these if your compiler supports // guaranteed copy elision (c++17). Either way, it // doesn't affect the output. // bar_t () = delete; // bar_t (bar_t&&) = delete; // bar_t […]

Bug跟踪器设置与Git集成?

我知道我可以通过黑客Trac和使用Git钩子来完成大部分工作,但是我想知道是否有人已经准备好了。 从提交消息评论(和closures)票据将是很好的,特别是如果差异与评论/closures评论内联。 sha1哈希应该自动链接到gitweb / cigt /定制git浏览器。 我尝试了Trac的GitPlugin,但代码浏览器太慢了…任何替代品?

任何处理“不可重现”错误的好策略?

很多时候,你会得到或提交“不可重现”缺陷的错误报告。 它们可能在您的计算机或软件项目上可重现,但不能在供应商的系统上重现。 或者用户提供重现的步骤,但在本地不能看到缺陷。 这个场景当然有很多变化,所以为了简化,我想我正在学习的是: 贵公司对“不可重现”错误的政策是什么? 搁置他们,closures他们,忽略? 我偶尔会在第三方的框架中看到间歇性的,不可重复的错误,而这些几乎总是由供应商立即closures……但它们是真正的错误。 你有没有find任何技术来帮助解决这些types的错误? 通常,我所做的是从用户那里获取系统信息报告,然后重新生成步骤,然后search关键字,并尝试查看任何types的模式。

一个人bugtracker?

最近我已经做了大量的周末编程,并且随着事情的进展而开始真正需要bug追踪器。 这可能是最坏的情况,因为我基本上不得不让事情在一周内冷静下来,所以我根本不记得我脑子里的错误。 到目前为止,我一直在使用一个文本文件来logging错误,但我宁愿使用一些更好的东西。 这里最大的问题是易用性和很less的安装时间。不要花一个多小时学习基础知识,并尝试安装某些东西。 在我的情况下,我在Mac上,这将有所帮助,但欢迎其他平台的解决scheme,因为他们可能会帮助别人。

在C ++预处理器中,R和L有什么特别之处?

我通过Visual Studio 2013预处理器运行以下代码。 输出令我惊讶。 hello.cpp的内容: #define A(j) #j A(A?) A(B?) A(C?) A(D?) A(E?) A(F?) A(G?) A(H?) A(I?) A(J?) A(K?) A(L?) A(M?) A(N?) A(O?) A(P?) A(Q?) A(R?) A(S?) A(T?) A(U?) A(V?) A(W?) A(X?) A(Y?) A(Z?) 命令: cl /P hello.cpp hello.i包含: #line 1 "hello.cpp" "A?" "B?" "C?" "D?" "E?" "F?" "G?" "H?" "I?" "J?" "K?" "L" "M?" […]

不build立你自己的错误跟踪系统的原因

现在好几次,我都遇到了一个团队的计划,他们想要build立自己的bug跟踪系统 – 不是作为一个产品,而是作为一个内部工具。 我所听到的赞同的论据通常是: 想要根据一些内部build立的networking框架来“吃我们自己的狗粮” 需要一些高度专业化的报告,或以某种独特的方式调整某些function的能力 相信build立一个bug跟踪系统并不困难 你可以使用什么参数来支持购买现有的错误跟踪系统? 特别是声音容易,难以实现,还是困难重要,但往往被忽视?

为什么java 5+中的volatile不能确保其他线程的可见性?

根据: http://www.ibm.com/developerworks/library/j-jtp03304/ 在新的内存模型下,当线程A写入一个易失性variablesV,并且线程B从V读取时,在写入V时A可见的任何variables值现在保证对B可见 在互联网上的许多地方声明下面的代码不应该打印“错误”: public class Test { volatile static private int a; static private int b; public static void main(String [] args) throws Exception { for (int i = 0; i < 100; i++) { new Thread() { @Override public void run() { int tt = b; // makes the jvm cache the value […]

为什么Haskell代码与-O运行速度较慢?

这块Haskell代码运行速度比-O慢得多,但是-O应该是非危险的 。 谁能告诉我发生了什么事? 如果重要的话,这是一个试图解决这个问题 ,它使用二进制search和持久段树: import Control.Monad import Data.Array data Node = Leaf Int — value | Branch Int Node Node — sum, left child, right child type NodeArray = Array Int Node — create an empty node with range [l, r) create :: Int -> Int -> Node create lr | l + 1 […]

(this == null)在C#中!

由于在C#4中修复了一个错误,下面的程序打印为true 。 (在LINQPad中试用) void Main() { new Derived(); } class Base { public Base(Func<string> valueMaker) { Console.WriteLine(valueMaker()); } } class Derived : Base { string CheckNull() { return "Am I null? " + (this == null); } public Derived() : base(() => CheckNull()) { } } 在VS2008的Release模式下,它会抛出一个InvalidProgramExceptionexception。 (在debugging模式下,它工作正常) 在VS2010 Beta 2中,它不能编译(我没有尝试Beta 1); 我了解到这一点很难 有没有其他的方式来使纯C#中的this == […]

在发布模式下,代码行为不像预期的那样

以下代码在debugging模式和发行模式(使用Visual Studio 2008)下生成不同的结果: int _tmain(int argc, _TCHAR* argv[]) { for( int i = 0; i < 17; i++ ) { int result = i * 16; if( result > 255 ) { result = 255; } printf("i:%2d, result = %3d\n", i, result) ; } return 0; } debugging模式的输出如预期的那样: i: 0, result = 0 i: 1, […]