Apakah teras di bawah linux

Mar 23, 2023 am 10:00 AM
linux core

Di bawah Linux, teras ialah imej memori dengan maklumat penyahpepijatan ditambah Apabila program keluar atau ditamatkan secara tidak normal di bawah Linux, kami akan menggunakan fail teras untuk analisis, yang mengandungi memori dan mendaftar apabila atur cara berjalan. , penuding tindanan dan maklumat lain, formatnya ialah ELF, yang boleh difahami sebagai membuang status semasa program ke dalam fail.

Apakah teras di bawah linux

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

Apakah teras di bawah linux?

Penjelasan terperinci tentang cara menggunakan fail teras di bawah Linux

Kadangkala program akan keluar secara tidak normal tanpa sebarang log Pada masa ini, anda boleh menggunakan fail kod untuk analisis, yang akan merekodkan operasi atur cara, daftar, penuding tindanan dan maklumat lain

fail teras:

Biasanya apabila program keluar atau ditamatkan secara tidak normal di bawah Linux, kami akan menggunakan fail teras untuk analisis, yang mana mengandungi masa jalan program Memori, daftar, penuding tindanan dan maklumat lain adalah dalam format ELF Ia boleh difahami bahawa status semasa program dibuang ke dalam fail Dengan menganalisis fail ini dengan alat, kita boleh mencari yang sepadan stack call dan maklumat lain apabila program keluar secara tidak normal atau ditamatkan.

Gunakan penyahpepijatan fail teras

Kaedah penjanaan

Lihat status fail teras semasa

$ ulimit -a
...
-c: core file size (blocks)   0 # 关闭状态
...
Salin selepas log masuk

Hidupkan suis penjanaan

ulimit -c unlimited
ulimit -a
...
-c: core file size (blocks)   unlimited
...
Salin selepas log masuk

Hadkan saiz fail teras dalam blok, biasanya 1 blok=512 bait Jika tetapan terlalu kecil, fail mungkin tidak dijana

$ ulimit -c 1024
$ ulimit -a
...
-c: core file size (blocks)   1024
...
Salin selepas log masuk

Matikan suis penjanaan

ulimit -c 0
ulimit -a
...
-c: core file size (blocks)   0
...
Salin selepas log masuk

Operasi di atas pada fail teras hanya berkuat kuasa pada masa ini Jika ia perlu berkuat kuasa secara kekal, operasi yang sepadan mesti ditulis ke /etc/. profil

Laluan Penjanaan

Fail teras dijana dalam direktori kerja program secara lalai Anda boleh menetapkan laluan penjanaan perlu memastikan bahawa direktori yang sepadan mempunyai ruang yang mencukupi dan mempunyai kebenaran menulis

echo /MyCoreDumpDir/core.%e.%p > /proc/sys/kernel/core_pattern
Salin selepas log masuk

Senarai parameter yang digunakan dalam penamaan

%p - insert pid into filename # 添加 pid 
%u - insert current uid into filename # 添加当前 uid 
%g - insert current gid into filename # 添加当前 gid 
%s - insert signal that caused the coredump into the filename # 添加导致产生 core 的信号 
%t - insert UNIX time that the coredump occurred into filename # 添加 core 文件生成时的 unix 时间 
%h - insert hostname where the coredump happened into filename # 添加主机名 
%e - insert coredumping executable name into filename # 添加命令名
Salin selepas log masuk

/proc/sys/kernel/core_uses_pid Jika nilai fail ini ialah 1, maka apabila %p dikonfigurasikan, fail teras yang dijana akhirnya akan menambah pid

Kaedah penyahpepijatan

Anda boleh menggunakan gdb untuk nyahpepijat fail teras. Semasa menyusun, anda perlu membawa pilihan -g

$ gdb a.out
...
(gdb) core-file core
...
(gdb) bt 
...
Salin selepas log masuk

Jika perlu, jalankan pada PC Untuk menyahpepijat fail teras yang dijana oleh peranti terbenam, anda perlu memilih alat gdb bagi platform yang sepadan dan tetapkan lokasi daripada fail simbol selepas memasukkan gdb

$ xxx-xxx-gdb a.out
...
(gdb) solib-search-path xxx.so:xxx.so
...
(gdb) core-file core
...
(gdb) bt
...
Salin selepas log masuk

Cadangan berkaitan: "Tutorial Video Linux

Atas ialah kandungan terperinci Apakah teras di bawah linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Apa yang perlu dilakukan sekiranya imej docker gagal Apa yang perlu dilakukan sekiranya imej docker gagal Apr 15, 2025 am 11:21 AM

Langkah Penyelesaian Masalah untuk Gagal Docker Image Build: Semak Sintaks Dockerfile dan Versi Ketergantungan. Semak jika konteks binaan mengandungi kod sumber dan kebergantungan yang diperlukan. Lihat log binaan untuk butiran ralat. Gunakan pilihan sasaran untuk membina fasa hierarki untuk mengenal pasti titik kegagalan. Pastikan anda menggunakan versi terkini Enjin Docker. Bina imej dengan --t [nama imej]: mod debug untuk debug masalah. Semak ruang cakera dan pastikan ia mencukupi. Lumpuhkan Selinux untuk mengelakkan gangguan dengan proses binaan. Tanya platform komuniti untuk mendapatkan bantuan, sediakan dockerfiles dan bina deskripsi log untuk cadangan yang lebih spesifik.

Cara Melihat Proses Docker Cara Melihat Proses Docker Apr 15, 2025 am 11:48 AM

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Cara menukar mod cina dengan vscode Cara menukar mod cina dengan vscode Apr 15, 2025 pm 11:39 PM

VS Kod untuk menukar mod Cina: Buka antara muka Tetapan (Windows/Linux: Ctrl, MacOS: CMD,) Cari "Editor: Bahasa" Tetapan Pilih "Cina" dalam menu drop-down Simpan tetapan dan mulakan semula kod vs

VSCode tidak dapat memasang pelanjutan VSCode tidak dapat memasang pelanjutan Apr 15, 2025 pm 07:18 PM

Sebab -sebab pemasangan sambungan kod VS mungkin: ketidakstabilan rangkaian, kebenaran yang tidak mencukupi, isu keserasian sistem, versi kod VS terlalu lama, perisian antivirus atau gangguan firewall. Dengan menyemak sambungan rangkaian, keizinan, fail log, mengemas kini kod VS, melumpuhkan perisian keselamatan, dan memulakan semula kod VS atau komputer, anda boleh menyelesaikan masalah dan menyelesaikan masalah secara beransur -ansur.

See all articles