【发布时间】:2025-12-11 15:50:01
【问题描述】:
我有一个正在运行的服务器程序(由 g++ 编译)。我更改了一些代码并编译了一个新的 bin 文件。在不杀死正在运行的进程的情况下,我 mv 新创建的 bin 以覆盖旧的。
过了一会儿,服务器进程崩溃了。它与我的替换操作有关吗?
我的服务器是多线程高并发服务器。一个崩溃是段错误,另一个是死锁。 我打印核心转储文件中的所有参数,并将它们传递给崩溃的函数。不过没关系。
而且我仔细观察了死锁核心转储中的所有线程信息,我找不到导致死锁的可能性。
所以我怀疑替换会引起奇怪的事情
根据这个question,如果发生swap动作,确实会产生奇怪的东西
【问题讨论】:
-
你能给我们更多的信息吗?您能否提供两组示例代码,以展示将一组替换为另一组时的行为?什么是崩溃? (分段错误?)诅咒转储/调试器说什么?
-
我目前无法对技术细节发表评论,但我已经看到您在替换库或二进制文件时对自己的描述。
标签: linux