問題タブ [mach]

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.

0 投票する
0 に答える
745 参照

ios - _BSMachError: (os/kern) 無効な機能 (20)/名前 (15) エラー - *IQKeyboardManager*

_BSMachError: (os/kern) 無効な機能 (20)

_BSMachError: (os/kern) 無効な名前 (15)

このエラーは、すべてのビューで発生します。テキスト ビューでキーボードから入力すると、テキスト フィールドでは発生しません。

削除するIQKeyboardManagerと、正常に動作します。おそらく何かに関連していIQKeyboardManagerます。

0 投票する
1 に答える
508 参照

macos - dtrace print 親プロセス コマンド

新しい実行中のプロセスごとに、開始コマンドとその親プロセスを出力するスクリプトが必要です。

私は次のプローブを使用しています:

スクリプト本体内から、コマンド ライン文字列が から作成されcurproc->p_dtrace_argvます。

親 pid (ppid) も利用できますが、これまでのところ、親プロセス名 (できれば親 argv[0] から取得できるフルネーム) を抽出する方法を理解できていません。

0 投票する
0 に答える
300 参照

macos - プロセス コマンド ラインを抽出するときの DTrace 無効アドレス エラー

新しいプロセスのコマンドラインとそれに対応する親名を出力する dtrace スクリプトが必要です。つまり、bash から /Users/bla/myexec arg1 arg2 arg3 を実行すると、次のような結果が得られます。

parent is bash process is --> /Users/bla/myexec arg1 arg2 arg3

ここここで検索した後、次の解決策を思いつきました。

ただし、スクリプトの実行中に、一部のプローブでは初期化されていない変数や破損した変数があるようです。

次の bash コマンドの出力例を次に示しますsudo dtrace -C -s ./procargs.d。プローブproc:mach_kernel:__mac_execve:exec-successの値が初期化されていないことがわかりますcurproc->p_dtrace_argv

おそらく、私のスクリプトの何が問題なのか教えていただけますか?

0 投票する
1 に答える
895 参照

c - コンプレックス マッチ メッセージ ヘッダーの設定

mach IPC を使用して行外に文字列を送信するための mach メッセージをセットアップしようとしています。ただし、(ipc/send) invalid msg-header行外メッセージを送信しようとするとエラーが発生します。

これがメッセージ構造です。

このようにヘッダーを設定しています。以下の変数msgstruct ool_msg.

これが、Mach メッセージの残りの部分をセットアップする方法です。

では、OOL Mach IPC のメッセージ ヘッダーを正しく設定するにはどうすればよいでしょうか。

編集

これが私の問題を再現するプログラムです。

0 投票する
0 に答える
1529 参照

c - マッハメッセージを使用してアウトオブラインメモリを受信する方法

複雑なマッハ メッセージで送信された文字列を受信しようとしています。具体的には、out of line memory(OOL) メッセージです。残念ながら、インターネットや印刷物には、OOL マッハ メッセージのドキュメントや例はほとんどありません。たとえば、http: //www.amazon.com/Mac-OS-Internals-Systems-Approach/dp/0321278542 には、1091 ページに OOL メッセージを送信する部分的な例がありますが、OOL メッセージを受信する例はありません。

mach メッセージを受信して​​もエラーは発生しません。つまり、mach_msg()success が返されますが、送信される文字列NULL"123456789". では、OOL マッハ メッセージで送信されたデータを正しく受信するにはどうすればよいでしょうか。

0 投票する
1 に答える
235 参照

c - OSX setgid システム コール - どの API が正しいか

システム コール setgid を使用して、現在のプロセスのグループ ID を変更したいと考えています。この関数を検索しようとすると、私が見つけた唯一の実装は kern_prot.c にあります:

/usr/unistd.h によると、API がまったく異なることに注意してください ( int setgid(gid_t);)。

  1. のラッパーint setgid(gid_t);ですint setgid(proc_t p, struct setgid_args *uap, __unused int32_t *retval)
  2. の実装はどこにありint setgid(gid_t);ますか?
  3. kern_prot.c から setgid の実装を呼び出すオプションはありますか?

アップデート:

dtrussシステム コールを監視するためにプログラムを監視した後、kern_prot.c の実装と一致するsetgid(gid_t)3 つのパラメータでシステム コールを 呼び出すようです。setgid(0x2, 0x7F9AA3803200, 0x1000)問題は、ラッパーのソース コードをどこで見つけることができるか、それがどのライブラリに属しているか (おそらく glibc?) です。

ありがとう 、

0 投票する
1 に答える
4082 参照

macos - 実行可能ファイルの共通文字列の意味?

Mach-O 64 ビット実行可能ファイルおよび ELF 64 ビット LSB 実行可能ファイルでは、英数字ではない他のシンボルの中で一般的に発生する、似たような長い英数字文字列がいくつかあるようです。

181件の結果があり、

9 件の結果があります。

ここに画像の説明を入力

これらの文字列は何ですか?

0 投票する
1 に答える
72 参照

linux - スレッドがいつアクティブになるかを確認するためのシステム API

Linux および Darwin 用の低レベル システム API はありますか?

たとえば、Ubuntu の「システム モニター」には、プロセスの「待機チャネル」列があります。プロセス内のすべてのスレッドに対して同様の出力を取得する方法はありますか?

ジョブがスレッドにディスパッチされるマルチスレッド キューイング システムがあり、ジョブがいつ開始/終了したかを示す視覚的なタイムラインがあります。それを最適化するために、ジョブが実際に実行されているとき (たとえば、1 つのプロセッサ コア上) と、ジョブがプリエンプトされているときの視覚的な表示を追加したいと考えています。