问题标签 [solaris]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - GCC/ELF - 我的符号从何而来?
有一个可执行文件动态链接到共享对象的数量。我如何确定某个符号(导入可执行文件)属于其中的哪一个?
如果有不止一种可能性,我可以模拟 ld 并查看它是从哪里拍摄的吗?
gcc - 从 LD 隐藏共享对象中的符号
我有两个第三方库偶尔会导出相同的符号名称。加载可执行文件时,ld通常会选择错误的文件,结果导致我崩溃。我不能对这些库的内容做太多,所以可能有一种方法可以指导ld如何找到正确的实施方式?
操作系统 - Solaris 10,我的程序是由 autoconf/autotools/gcc 构建的,冲突的库是libclntsh(Oracle 驱动程序的一部分)和 OpenLDAP。不幸的是,我不能使用 Oracle 的 LDAP 客户端实现——它缺少 OpenLDAP 的许多功能。
编辑:链接如下:libclntsh.so->A.so->MAIN<-B.so<-libldap_r.so
solaris - prstat 输出中 SIZE 和 RSS 值的含义
有人可以对我们从 Solaris 中的 prstat 获得的 SIZE 和 RSS 值的含义给出一些明确的解释吗?
我编写了一个测试 C++ 应用程序,它用 分配内存new[]
、填充它并用delete[]
.
据我了解,SIZE 值应该与进程“保留”多少虚拟内存有关,即内存“分配”或“新”。
除非我真的使用它(填充一些值),否则该内存不会汇总在 RSS 值中。但是,即使我释放内存,RSS 也不会下降。
我不明白我可以正确分配给这两个值的语义。
c - 如何在 dbx 中的内存位置设置断点?
一位同事的 C 程序由于某些损坏的内存而以可预测的方式失败。他想dbx
在分配内存位置后使用它来监视内存位置,以查明导致损坏的代码。
这可能吗?如果是这样,在损坏时产生断点的语法是什么?
如果没有,解决此类问题的好方法是什么?
(我通常的策略是查看源代码管理以查看我最近所做的更改,因为这通常是原因。但是有问题的代码听起来好像它只是靠运气才能工作,所以那是行不通的。还有,由于从未使用过代码,我已经将自己作为罪魁祸首消除了。;-)
java - 在 Java 网络连接上禁用字符回显
我有一个用 Java6 编写的 Solaris 守护进程。客户端可以使用 telnet 风格的界面连接到它。他们远程登录到一个特定的端口,我读取输入行并对其进行操作。
在某一时刻,我需要提示用户输入密码,当他们输入时,我想禁用将字符回显回 telnet 客户端。
该代码有一个 Socket 对象,并从套接字的 getInputStream() 结果创建一个 InputStream,然后从 InputStream 读取和缓冲字符,在 cr/lf 边界上分解它们。
我在 InputStream 或 Socket 上都看不到任何属性来禁用将字符回显回客户端。
有人可以将我推向正确的方向吗?
sockets - 远程关闭后 TCP 套接字的状态是什么?
假设我已经接受()到我的服务器(在 Solaris 上运行)的连接,并且客户端已经关闭了连接。在服务器端关闭()它之前,服务器端的套接字(在 netstat 类别中)的状态是什么?它是绑定的吗?
c++ - 将应用程序从 Solaris 移植到 Linux
我将承担将相当大的 C++ 网络应用程序代码库从 Solaris 移植到 Linux 平台的任务。该代码还使用 ACE 等第三方库。最初编写的应用程序没有计划在将来进行可能的移植。
我想就如何完成这项任务获得一些建议和建议。最好的方法是什么。
-帕布。小号
linux - 代码注入 - Solaris & Linux
我有一个由第三方创建的可执行模块。我想将我的代码(一种在单独线程中运行的看门狗)“注入”到这个进程中。
到目前为止,有两种可能的方法 - 一种是将我的代码作为可执行文件运行并在其之上动态加载一个过程(似乎非常困难和棘手)或使我的代码成为共享对象,通过 LD_PRELOAD 加载它并从一些静态变量构造函数。
有没有更方便的方法来做到这一点?我的操作系统是 Linux x86 和 Solaris-SPARC。
更新:如果可能的话,我不想修补这个过程,而是动态加载我的代码。
c++ - 如何修复内存访问错误
我正在做一个迁移项目,在这里我们正在将大量 C++ 库从 Mainframe 迁移到 Solaris。我们已成功完成迁移,但在运行应用程序时,某些地方会因“信号 SEGV(故障地址无映射)”而崩溃。
由于该应用程序也支持 Windows,因此我们在 Windows 上检查了 purify。应用程序中没有内存泄漏,并且在 Windows 上运行良好。
任何人都可以建议,可能导致此类错误的其他原因是什么。有什么工具可以追踪这类错误吗?
solaris - ZFS vdev 命名?
我不知道在 Solaris 中创建 zfs 池时命名使用的 vdev(虚拟设备)的基本原理是什么。假设我有一个磁盘c4d0,c4d0p0和c4d0s0是什么意思?而且,我怎么知道 ZFS 命令使用什么。我非常困惑,因为我不断收到“指定的无效 vdev”。任何指针?