คำถามติดแท็ก debugging

ค้นหาปัญหาในโปรแกรมและพยายามแก้ไขปัญหาเหล่านี้

8
วิธีสร้างสคริปต์ทุบตีพิมพ์ทุกคำสั่งก่อนที่จะดำเนินการ?
ตัวอย่างเช่นฉันมีไฟล์ทุบตีง่าย #!/bin/bash cd ~/hello ls ฉันจะทำให้มันแสดงทุกคำสั่งก่อนดำเนินการได้อย่างไร เพียงผลตรงข้ามของ "@echo off" ในการเขียนสคริปต์ชุด windows

9
วิธีตั้งค่าเซิร์ฟเวอร์ SMTP ปลอมเพื่อตรวจจับจดหมายทั้งหมดได้อย่างไร
ฉันกำลังมองหาบริการ smtp ที่เชื่อฟัง RFC เป็นหลักยกเว้นแทนที่จะส่งจดหมายมันก็แค่บันทึกไปยังไฟล์ [date] sent mail to <address> หรืออะไรก็ตาม ฉันสามารถทุบตีสิ่งนี้พร้อมกับฟังก์ชั่นขั้นต่ำเปลือยที่ฉันต้องการในงูหลามในเวลาประมาณครึ่งชั่วโมงที่ฉันคิด แต่ถ้ามีโครงการที่มีอยู่ที่ทำงานได้ดีกว่าฉันควรจะใช้มัน เหตุผลที่ต้องมีมันคือการดีบั๊กแอปที่ส่ง 7 * จำนวนของเมลที่ควรจะเป็น แก้ไข: และถามแล้ว: https://stackoverflow.com/questions/1006650/dummy-smtp-server-for-testing-apps-that-send-email
50 smtp  debugging 

6
ดีบักเกอร์สำหรับ Iptables
ฉันกำลังมองหาวิธีง่ายๆในการติดตามแพ็กเก็ตผ่านกฎ iptables นี่ไม่ได้เกี่ยวกับการบันทึกมากนักเพราะฉันไม่ต้องการบันทึกปริมาณการใช้งานทั้งหมด (และฉันต้องการให้มีเป้าหมายการบันทึกสำหรับกฎน้อยมาก) บางอย่างเช่น Wireshark สำหรับ Iptables หรือแม้กระทั่งบางสิ่งที่คล้ายกับดีบักเกอร์สำหรับภาษาการเขียนโปรแกรม ขอบคุณคริส หมายเหตุ:ไม่จำเป็นต้องเป็นเครื่องมือ GUI ที่สวยงาม แต่จะต้องทำมากกว่าเพียงแสดงตัวนับแพ็คเกจหรือมากกว่านั้น อัปเดต:เกือบจะดูเหมือนว่าเราไม่พบสิ่งใดที่มีฟังก์ชั่นที่ขอ ในกรณีนี้: อย่างน้อยเราจะหาเทคนิคที่ดีซึ่งมาจากการบันทึก iptables - ซึ่งสามารถเปิดและปิดได้ง่ายและไม่จำเป็นต้องเขียนกฎ iptables ซ้ำซ้อน (ต้องเขียนกฎเดียวกันสำหรับ-j LOGและ-j ...)

5
ฉันจะทราบได้อย่างไรว่าเกิดอะไรขึ้นกับการขัดจังหวะบน Windows
บางครั้งฉันเจอเซิร์ฟเวอร์ (Windows 2003 และ 2008) ที่มีการขัดจังหวะตัวประมวลผล% สูง มีวิธีดูว่าโปรแกรมหรืออุปกรณ์ใดทำให้เกิดการขัดจังหวะหรือไม่

4
เคอร์เนลสแต็กติดตามไปยังบรรทัดซอร์สโค้ด
ด้วยการติดตามเคอร์เนลสแต็กดังต่อไปนี้คุณจะกำหนดบรรทัดของรหัสเฉพาะที่เกิดปัญหาได้อย่างไร kernel: [<ffffffff80009a14>] __link_path_walk+0x173/0xfb9 kernel: [<ffffffff8002cbec>] mntput_no_expire+0x19/0x89 kernel: [<ffffffff8000eb94>] link_path_walk+0xa6/0xb2 kernel: [<ffffffff80063c4f>] __mutex_lock_slowpath+0x60/0x9b kernel: [<ffffffff800238de>] __path_lookup_intent_open+0x56/0x97 kernel: [<ffffffff80063c99>] .text.lock.mutex+0xf/0x14 kernel: [<ffffffff8001b222>] open_namei+0xea/0x712 kernel: [<ffffffff8006723e>] do_page_fault+0x4fe/0x874 kernel: [<ffffffff80027660>] do_filp_open+0x1c/0x38 kernel: [<ffffffff8001a061>] do_sys_open+0x44/0xbe kernel: [<ffffffff8005d28d>] tracesys+0xd5/0xe0 ในขณะที่ฉันไม่มีปัญหาในการค้นหาการเรียกใช้ฟังก์ชั่น - แต่การแปล__link_path_walkบวกการชดเชยให้กับหมายเลขบรรทัดจริงเป็นส่วนที่ยาก สมมติว่านี่เป็นเคอร์เนลที่มีการกระจายแบบมาตรฐานซึ่งฉันรู้รุ่นและหมายเลขบิลด์ที่แน่นอนกระบวนการในการดึงข้อมูลเมตาที่จำเป็นและการค้นหาที่สอดคล้องกันคืออะไร

1
ext4 การแสดงรายการไฟล์ช้ามากในไดเรกทอรีหนึ่งที่มีไฟล์จำนวนมากมาก่อน
พื้นหลัง ผมมี misshap logrotate เล็ก ๆ ... logrotate จะหมุนบันทึกเก็บไว้โดย misstake /var/log/ก่อให้เกิดการเจริญเติบโตของกำลังสองของไฟล์ในของฉัน และตามเวลาที่ฉันรู้ว่ามีบางอย่างผิดปกติ/var/log/มีไฟล์อยู่สองสามล้านไฟล์ ... ฉันจัดการเพื่อ (หลังจาก hairloss และ find / sed / grep magic) ลบไฟล์ที่ละเมิดทั้งหมดและแก้ไขการตั้งค่า logrotate ของฉัน และคิดว่าทุกอย่างดี ... ปัญหา เมื่อใดก็ตามที่ฉันls/ du -hsหรือรายชื่อเนื้อหาของ/var/log/(ซึ่งตอนนี้มี 80mb ของที่เก็บ / บันทึกและมากที่สุดสองสามร้อยไฟล์) กระบวนการทำที่แฮงค์สำหรับนาทีที่ดีหรือสอง ฉันเชื่อว่านี่เป็นวิธีที่เกี่ยวข้องกับการสะกดผิด logrotate แต่ฉันไม่แน่ใจมันอาจเป็นอย่างอื่น ยังไงก็ตามฉันก็ตกอยู่ในที่ที่จะเริ่มทำการดีบั๊กหรือหาวิธีแก้ไขมัน โปรดช่วย: 3 ข้อมูลอื่น ๆ uname -a Linux xxx 3.3.8-gentoo …

9
เทียบเท่ากับ SysInternals FileMon สำหรับ Linux?
ฉันพยายามดีบักแอปพลิเคชั่นบน Ubuntu - ฉันจำเป็นต้องฟังความพยายามในการเปิดไฟล์ (แม้กระทั่งไฟล์ที่ไม่มีอยู่) Process Monitor (ชื่อเดิมคือFileMon ) มีให้บริการบน Windows - มีอะไรบ้างบนสายพานยูทิลิตี้ของ Ubuntu? ขอบคุณ! แอชลีย์

3
ส่งเอาต์พุต bash -x ไปที่ logfile โดยไม่รบกวนเอาต์พุตมาตรฐาน
มีวิธีการส่งข้อมูลที่แสดงโดยการรันสคริปต์ bash พร้อมกับตัวเลือก -x ไปยังไฟล์หรือไม่ในขณะที่ไม่ได้เปลี่ยนเอาท์พุทมาตรฐานที่ผู้ใช้รันสคริปต์มองเห็น? นี่เป็นคุณสมบัติการแก้ไขข้อบกพร่องที่ฉันต้องการนำไปใช้ในสคริปต์ทุบตีที่เราใช้การเปลี่ยนแปลงนั้นบ่อยครั้ง ชื่นชมมาก

4
ฉันจะทราบได้อย่างไรว่าไฟล์อยู่ที่ใดในดิสก์ (หมายเลขบล็อก)
นี่เป็นคำถามที่คลุมเครือฉันรู้ ฉันพยายามทำการทดสอบประสิทธิภาพของดิสก์บางตัวในกล่อง Linux ฉันได้รับผลลัพธ์ที่ไม่คงที่โดยรันการทดสอบเดียวกันบนดิสก์เดียวกัน ฉันรู้ว่าดิสก์มีประสิทธิภาพแตกต่างกันขึ้นอยู่กับว่าส่วนใดของดิสก์ที่กำลังถูกเข้าถึง โดยเฉพาะอย่างยิ่งการอ่านและเขียนไปที่ด้านนอกของดิสก์จะมีปริมาณงานสูงกว่าการอ่านและเขียนไปยังส่วนด้านในของดิสก์เนื่องจากความหนาแน่นของข้อมูลใกล้เคียงคงที่และความเร็วในการหมุนคงที่ ฉันต้องการดูว่าความไม่สอดคล้องของฉันสามารถนำมาประกอบกับความแปรปรวนที่เกิดจากรูปทรงเรขาคณิตนี้ในปริมาณงานหรือไม่ เป็นไปได้หรือไม่ที่ใช้เครื่องมือที่มีอยู่เพื่อค้นหาตำแหน่งที่วางไฟล์ ถ้าไม่ใช่ฉันคิดว่าฉันสามารถเขียนบางสิ่งเพื่อค้นหาอ่านและเขียนไปยังไฟล์อุปกรณ์โดยตรงโดยการข้าม (และทำลาย) ระบบไฟล์ แต่ฉันหวังว่าจะหลีกเลี่ยงสิ่งนั้น ปัจจุบันฉันใช้ ext4 กับเคอร์เนล 3.0 (Arch Linux ถ้าเป็นเรื่องสำคัญ) แต่ฉันสนใจเทคนิคต่าง ๆ สำหรับระบบไฟล์อื่นเช่นกัน


12
อะไรคือสิ่งแรกที่คุณตรวจสอบเมื่อเซิร์ฟเวอร์ unix ที่ไม่มีใครแตะต้องเริ่มบ้าดีเดือด
ดังนั้นคุณมีเซิร์ฟเวอร์ unix ที่ติดตั้งอย่างเรียบร้อยและมันเร็วสุด ๆ และใช้งานได้ดีและทุกอย่างยอดเยี่ยมเป็นเวลาหลายเดือนและทันใดนั้นข้อผิดพลาดแปลก ๆ ทุกชนิดก็เริ่มปรากฏขึ้นเพื่อบริการที่หลากหลาย น้อยกว่ากันมาก อะไรคือสิ่งที่ถูกที่คุณควรตรวจสอบทันทีที่คุณได้รับเซสชั่น ssh ของคุณไปยังเครื่อง? ฉันสนใจเรื่องการบาดเจ็บเป็นพิเศษที่เน้นคำสั่งที่ไม่ชัดเจนและสถานการณ์ที่หายาก แต่ฉันเดาว่าสิ่งที่เห็นได้ชัดนั้นแตกต่างกันไปในแต่ละบุคคลดังนั้นเราจึงสามารถเขียนรายการทั้งหมดได้อย่างอิสระ

2
วิธีการติดตาม Apache 301 ย้ายอย่างถาวร?
ฉันมีโฮสต์เสมือนหนึ่งตัวบนเครื่องของฉันซึ่งฉันกำลังเข้าถึง localy ฉันใช้ apache2 ใน windows 7 เมื่อเข้าถึงโฮสต์นี้ฉันเห็นใน Fiddler เซิร์ฟเวอร์นั้นเปลี่ยนเส้นทางเบราว์เซอร์ไปยังไซต์ระยะไกลอื่นด้วยการตอบสนอง 301 Moved Permanently แต่ฉันไม่สามารถหาได้อย่างแน่นอนว่ามันมีการกำหนดค่า ฉันค้นหาไฟล์. htaccess ทั้งหมดเพื่อหา URL ของเว็บไซต์เป้าหมายไฟล์ทั้งหมดในโฮสต์เสมือนที่ระบุสำหรับ URL นี้ไดเรกทอรี Apache ทั้งหมด ... วิธีติดตามสิ่งที่ทำให้ Apache ทำการเปลี่ยนเส้นทางนี้

3
ทำการวิเคราะห์หาสาเหตุ
ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการวิเคราะห์สาเหตุที่แท้จริง หลายครั้งกว่าที่แผนกของเราบอกให้ผู้ใช้ลองรีบูตเครื่อง (ระบบ Windows XP ของพวกเขา) ซึ่งจริงๆแล้ว "แก้ไข" ปัญหาจำนวนมาก เมื่อฉันรีบ (และบางครั้งการจ่ายเงินมีส่วนช่วยในการนี้) ฉันอาจพยายามหาวิธีแก้ปัญหาเพื่อแก้ไขปัญหาได้อย่างรวดเร็วแทนที่จะทำการวิเคราะห์สาเหตุที่แท้จริง เวลาส่วนใหญ่ที่ฉันกำลังค้นหาในล็อกไฟล์หรือตัวแสดงเหตุการณ์สำหรับข้อมูลนี้ บางครั้งฉันจะใช้เครื่องมือ Sysinternals หรือเรียกใช้แพ็คเก็ตดมกลิ่นเป็นครั้งคราว ฉันอาจไม่ใช้โปรแกรม Sysinternals มากเท่าที่ควร ข้อมูลเชิงลึกเฉพาะบางประการเกี่ยวกับวิธีที่คุณใช้เครื่องมือเหล่านี้เมื่อใดและเพราะเหตุใดจะเป็นประโยชน์เช่นกัน ฉันรู้ว่านี่เป็นคำถามเปิดกว้าง แต่คุณช่วยอธิบายวิธีการเครื่องมือและอื่น ๆ ที่คุณใช้ในเวลาสั้น ๆ ได้ไหม ดูเหมือนว่าผู้ดูแลระบบจำนวนมากใน SF ใช้กระบวนการเชิงลึกมากขึ้นซึ่งฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ หากสิ่งนี้ช่วย จำกัด คำถามให้แคบลงฉันจะสนใจเครื่องมือเคล็ดลับกลอุบาย ฯลฯ ที่เกี่ยวข้องกับเซิร์ฟเวอร์และไคลเอนต์ Windows ภายในสภาพแวดล้อมโฆษณามากที่สุด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.