問題タブ [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 から非表示にします
同じシンボル名がエクスポートされることがある 2 つのサードパーティ ライブラリがあります。実行可能ファイルがロードされると、通常、ldは間違ったものを選択し、結果としてクラッシュします。私はこれらのライブラリの内容についてあまり多くを行うことができないので、ldに適切な実装を見つける方法を指示する方法があるかもしれません。
OS - 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値の意味を誰かが明確に説明できますか?
でメモリを割り当てnew[]
、それを埋め、で解放するテスト用C++アプリケーションを作成しましたdelete[]
。
私が理解したように、SIZE値は、プロセスによって「予約」された仮想メモリの量、つまりメモリが「割り当てられていない」または「新しくなっている」ことに関連している必要があります。
そのメモリは、実際に使用しない限り(いくつかの値で埋める)、RSS値に合計されません。しかし、メモリを解放してもRSSはドロップしません。
これらの2つの値に正しく割り当てることができるセマンティクスがわかりません。
c - dbx のメモリ位置にブレークポイントを設定するにはどうすればよいですか?
同僚の C プログラムが、破損したメモリのために予測可能な方法で失敗します。dbx
彼は、破損の原因となっているコードを特定するために、割り当てられたメモリの場所を監視するために使用したいと考えています。
これは可能ですか?もしそうなら、破損の瞬間にブレークポイントを生成する構文は何ですか?
そうでない場合、この種の問題を修正するための良いアプローチは何でしょうか?
(私の通常の戦術は、ソース管理を調べて、最近変更したものを確認することです。これは通常、それが原因であるためです。しかし、問題のコードは、運によってのみ機能したかのように聞こえるため、機能しません。また、 、コードを使用したことがないため、私はすでに犯人として自分自身を排除しました.;-)
java - Java ネットワーク接続で文字エコーを無効にする
Java6 で書かれた Solaris デーモンがあります。クライアントは、telnet スタイルのインターフェースを使用して接続できます。彼らは特定のポートに telnet で接続し、私は入力行を読み取り、それに基づいて行動します。
ある時点で、ユーザーにパスワードの入力を求める必要があり、パスワードを入力している間は、telnet クライアントへの文字のエコーを無効にしたいと考えています。
コードには Socket オブジェクトがあり、ソケットの getInputStream() の結果から InputStream を作成し、InputStream から文字を読み取ってバッファリングし、cr/lf 境界で分割します。
クライアントへの文字のエコーバックを無効にするために、InputStream または Socket のいずれにも属性が表示されません。
誰かが私を正しい方向に向けることができますか?
c++ - Solaris から Linux へのアプリケーションの移植
私は、かなりのサイズの C++ ネットワーク アプリケーション コード ベースを、Solaris から Linux プラットフォームに移植するタスクを引き受けることになっています。このコードは、ACE などのサードパーティ ライブラリも使用します。最初に作成されたときのアプリケーションは、将来の移植の可能性については計画されていませんでした。
仕事の進め方についてアドバイスやアドバイスを頂きたいです。従うべき最善の方法は何でしょう。
-プラブ。S
linux - コード インジェクション - Solaris & Linux
サードパーティによって作成された実行可能モジュールがあります。このプロセスに自分のコード (別のスレッドで実行されている一種のウォッチドッグ) を「挿入」したいと考えています。
これまでのところ、2 つの方法が考えられます。1 つは、コードを実行可能ファイルとして実行し、その上にプロセスを動的にロードすることです (非常に難しくてトリッキーなようです)。または、コードを共有オブジェクトにして、LD_PRELOAD を介してロードし、から初期化します。いくつかの静的変数コンストラクター。
これを行うためのより便利な方法はありますか? 私の OS は Linux x86 と Solaris-SPARC です。
更新: 可能であれば、プロセスにパッチを適用するのではなく、コードを動的にロードしたいと考えています。
c++ - メモリアクセスエラーの修正方法
私は移行プロジェクトに取り組んでいます。ここでは、大規模な C++ ライブラリ セットをメインフレームから Solaris に移行しています。移行は正常に完了しましたが、アプリケーションの実行中に、いくつかの場所で「シグナル SEGV (障害アドレスでのマッピングなし)」でクラッシュします。
アプリケーションはwindowsにも対応しているので、purify on windowsで確認しました。アプリケーションにメモリ リークはなく、Windows で正常に動作します。
このタイプのエラーを作成する可能性のある他の理由は何でしょうか。このタイプのエラーを追跡するためのツールはありますか?
solaris - ZFS vdev 命名?
Solaris で zfs プールを作成する際に使用される vdev (仮想デバイス) に名前を付ける理由がわかりません。ディスク c4d0 があるとします。c4d0p0 と c4d0s0 は何を意味するのでしょうか? また、ZFS コマンドで何を使用すればよいか、どうすればわかりますか。「無効な vdev が指定されました」というメッセージが表示され続けるので、私はひどく混乱しています。ポインタはありますか?