Tag: hp ux

调试没有符号的核心文件

我有一个C应用程序,我们已部署到客户站点。 它是在HP-UX上编译和运行的。 用户已报告崩溃,我们已获得核心转储。 到目前为止,我一直无法在内部复制崩溃。 正如您所怀疑的那样,核心文件/部署的可执行文件完全没有任何符号。 当我在gdb中加载并执行bt时,我得到的最好的是: (gdb) bt #0 0xc0199470 in ?? () 我可以在文件上做一个“字符串核心”,但我的理解是,我到达那里的是可执行文件中的所有字符串,所以在那里找到任何东西似乎是不可能的。 我确实有一个可执行文件的调试版本(用-g编译),不幸的是比发布版本新几个月。 如果我尝试使用该集线器启动gdb,我会看到: warning: exec file is newer than core file. Core was generated by `program_name’. Program terminated with signal 11, Segmentation fault. __dld_list is not valid according to __dld_flags. #0 0xc0199470 in ?? () (gdb) bt #0 0xc0199470 in ?? () […]

获取HPUX上正在运行的进程的可执行文件的完整路径

我希望在没有使用C ++代码的root权限的情况下获得正在运行的进程(可执行文件)的完整路径。 有人可以建议一种方法来实现这一目标。 在Linux平台上我可以通过以下方式来实现。 char exepath[1024] = {0}; char procid[1024] = {0}; char exelink[1024] = {0}; sprintf(procid, “%u”, getpid()); strcpy(exelink, “/proc/”); strcat(exelink, procid); strcat(exelink, “/exe”); readlink(exelink, exepath, sizeof(exepath)); 这里exepath为我们提供了可执行文件的完整路径。 同样对于Windows我们使用它 GetModuleFileName(NULL, exepath, sizeof(exepath)); /* get fullpath of the service */ 请帮助我在HP-UX上执行此操作,因为HP-UX中没有/ proc目录。