在目标计算机上访问 POSIX 信号灯时出现可执行文件崩溃(SEGV_MAPERR)
Executable crashing(SEGV_MAPERR) on access POSIX Semaphore on target machine
我制作了一个可执行文件,它尝试访问和获取状态或更改由目标机器(Ubuntu 16.04(上的进程创建的现有命名POSIX信号灯的状态,以良好级别运行:-19。 我的程序,我在 Ubuntu 16.04 上C++制作。通过目标计算机编译的程序访问目标计算机上的信号量时,正在正确访问和更改信号量。但是当通过我的机器编译的可执行文件访问时,它会给出SEGV_MAPERR分段错误。 在我的机器上使用另一个信号量锁定/解锁程序进行测试时,该程序可以工作。我将权限保留为 777,并将标志保留为 O_CREAT |O_EXCL两台计算机上的两个程序上的程序。
在目标计算机上运行时出错。
目标计算机上的 GDB 回溯
我在两台机器上使用信号量.h库。 谢谢。
解决了。我只需要删除 O_EXCL 标志,还必须以 root 身份运行我的应用程序。
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 程序在使用 system() 启动另一个可执行文件时停止
- 如何更改使用 CPack 安装的可执行文件的名称?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 编译的C可执行文件被Windows defender检测为病毒
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 在目标计算机上访问 POSIX 信号灯时出现可执行文件崩溃(SEGV_MAPERR)
- 如何在启动过程中崩溃时使用 gdb 调试可执行文件
- C++可执行文件崩溃
- 使用小型转储和 GDB 分析崩溃,以便 mingw 编译的可执行文件
- CMake :运行 ctest 时可执行文件崩溃
- 编译后的应用程序可执行文件崩溃,除非重命名.为什么