gpt4 book ai didi

c++ - 在目标机器上访问 POSIX 信号量时可执行文件崩溃(SEGV_MAPERR)

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:38 26 4
gpt4 key购买 nike

我制作了一个可执行文件,它试图访问和获取状态或更改由目标机器 (Ubuntu 16.04) 上的进程创建的现有命名 POSIX 信号量的状态,该信号量在 niceness 级别运行:-19。我的程序是在 Ubuntu 16.04 上用 C++ 制作的。通过目标机器编译的程序访问目标机器上的信号量时,信号量被正确访问和更改。但是当我的机器编译的可执行文件访问时,它给出了 SEGV_MAPERR 段错误。在我的机器上使用另一个信号量锁定/解锁程序进行测试时,该程序有效。我将权限保持为 777,将标志保持为 O_CREAT | O_EXCL 在两台机器上的两个程序上的程序上。

Erro on running on target machine.

Backtrace by GDB on Target machine

我在两台机器上都使用 semaphore.h 库。谢谢。

最佳答案

解决了。我只需要删除 O_EXCL 标志,我还必须以 root 身份运行我的应用程序。

关于c++ - 在目标机器上访问 POSIX 信号量时可执行文件崩溃(SEGV_MAPERR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com