Rumah >pembangunan bahagian belakang >Golang >Penjelasan terperinci tentang fail teras bahasa Go
Program Go tidak menjana fail teras secara lalai dan perlu didayakan dengan menetapkan pembolehubah persekitaran GOMAXPROFILES=1. Fail teras mengandungi maklumat status program dan dijana apabila program ditamatkan secara tidak normal Anda boleh menggunakan alat gdb untuk menganalisis nilai daftar, bingkai tindanan dan maklumat memori untuk membantu nyahpepijat dan mendiagnosis masalah.
Fail teras ialah jenis fail khas yang disimpan pada cakera Ia mengandungi maklumat tentang status program yang sedang berjalan, termasuk nilai daftar, timbunan dan penunjuk timbunan. dan pemetaan ingatan. Apabila program ditamatkan secara tidak normal, seperti ranap atau ditamatkan, fail teras biasanya dihasilkan.
Secara lalai, program Go tidak mencipta fail teras. Untuk mendayakan penjanaan fail teras, anda perlu menetapkan pembolehubah persekitaran GOMAXPROFILES
semasa memulakan program: GOMAXPROFILES
环境变量:
GOMAXPROFILES=1 go run main.go
上述命令会将核心文件保存到当前目录中的core
package main import ( "fmt" "log" ) func main() { var x int fmt.Println(x) // 未初始化的变量使用 log.Panic("发生了错误") // 调用 Panic 触发异常 }Arahan di atas akan menyimpan fail teras ke fail
core
dalam direktori semasa. Kes praktikalAndaikan kita mempunyai program Go yang mudah: gdb ./core mainApabila menjalankan program ini, pengecualian akan berlaku dan fail teras akan dijana. Kita boleh menggunakan alat gdb untuk melihat kandungan fail teras:
register
btGunakan arahan berikut untuk melihat tindanan maklumat bingkai:
x/96xb 0x12345678Juga Gunakan arahan berikut untuk melihat memori:
Atas ialah kandungan terperinci Penjelasan terperinci tentang fail teras bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!