[英]What kinds of bugs can cause compiled code to sometimes fail at runtime, but other times succeed?
我这里有一个已编译的可执行文件,无法确定是运行还是崩溃。 我一直从命令行调用它(无需重新编译),并且行为方式一直不同。 有时,它可以毫无问题地加载UI。 其他时候,它会因运行时异常而立即崩溃。
我找不到可以帮助我确定原因的运行和崩溃模式,因此我通常会问:
什么会导致已编译程序中的此行为? 哪些类型的错误/条件可能导致有时但并非每次都引发异常?
我知道的一个潜在原因是种族状况 。 如果线程A需要线程B的某些东西,但是没有将其编程为等待线程B,则这两个线程将争用到代码中的这一点。 如果A在B之前到达那里,则会出现错误。 如果B在A之前到达那里,那么似乎没有什么错。 线程的优劣取决于内核对线程的调度方式,不能保证每次运行之间都相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.