繁体   English   中英

哪些错误可能导致编译后的代码有时在运行时失败,而其他时候成功?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM