system-calls

    1熱度

    1回答

    當我在(strace dig google.com)上運行strace時,沒有sendto或recvfrom系統調用,正如您對DNS查詢所期望的那樣。 絕對正在執行網絡請求:我可以在Wireshark中看到這些查詢。但是,strace正在捕獲socket和close系統調用。完整的跟蹤可在https://pastebin.com/aU816wLq,但我粘貼了以下相關的部分: futex(0x7f3

    0熱度

    1回答

    如果我做了一個I/O系統調用或更多,當我完成時,我應該做一個退出調用(代碼10)或不需要? 我打一個比方: .data input_message: .asciiz "\nEnter an integer: " .text .globl main main: li $v0, 4 la $a0, input_message

    0熱度

    1回答

    在Linux-4.4內核中,讓我們假設有我自己的系統調用和隊列。 我編寫了linux-4.4/kernel/my_queue.c文件,其中包含int數組的定義作爲全局變量,push,pop函數作爲隊列的接口。 然後,它是線程安全的嗎? 對不起我的英文不好.. :)

    0熱度

    1回答

    情況如下: 我想要做的project它在github中篡改內核。內核版本是linux-3.18.6。 QEMU用於模擬環境。 在我的應用程序中,我嘗試通過遵循它們來了解系統調用過程。完成我的目標的方式就像shell程序一樣。我只是創建一些命令來運行相關的系統調用。也許這在圖片中很簡單。 some commands 代碼很簡單如下: 1使用API​​ GETPID。 int Getpid(int a

    3熱度

    1回答

    我試圖瞭解Linux系統調用如何返回錯誤代碼。我碰到了times()系統調用。這個簡單的系統調用拷貝一些數據到用戶空間,如果該操作未成功回報-EFAULT: SYSCALL_DEFINE1(times, struct tms __user *, tbuf) { if (tbuf) { struct tms tmp; do_sys_times(&tmp);

    -1熱度

    3回答

    我正在Linux環境中使用一對二進制文件,並且正在嘗試編寫我的用戶輸入。例如,與第一程序prog1.c的: void get_input() { int i; char buffer[32]; i = 0; while (i < 3) { memset(buffer, 0, 32); printf("Enter input: "

    0熱度

    1回答

    我的程序掛了,我決定去ltrace和strace吧。 strace -p pid 讓我在屏幕上的 「無限」 打印: lseek(3, 57114624, SEEK_SET) = 57114624 read(3, "\r\r\207\0\n\6O\0\16b\f\277\v\370\v1\ni\tm\10\245\7\335\7\25\6O\5v\5v"..., 4096) = 4096

    0熱度

    2回答

    我一直在研究迷你strace程序的重新編碼,而不使用PTRACE_SYSCALL來熟悉寄存器。我使用ptrace(PTRACE_GETREGS,...)來設置user_reg_struct字段,我使用ptrace(PTRACE_PEEKDATA,...)從中讀取。 不是真的知道如何處理函數中使用它的數據的retur(系統調用等)做的,我開始尋找一些代碼,我遇到的事情來,如: int is_a_sy

    1熱度

    2回答

    外部硬件設備是否可以使用系統調用並訪問操作系統?它讓我想起了磁盤上按鍵設備的自動運行,但我不確定是否由於操作系統或設備本身而發生。

    1熱度

    1回答

    我正在使用statvfs來收集特定文件的信息。我想獲得磁盤名稱/分區(如/dev/sdb1,/dev/media等)。但是statvfs結構似乎不提供這樣的數據。我在哪裏可以找到它?