ฉันมักจะมอบหมายงานให้ดีบั๊กแอปพลิเคชันในงานของฉัน มันเป็นแอปพลิเคชั่น BI ที่เราปรับใช้กับธุรกิจซึ่งรวมถึงสภาพแวดล้อมการทดสอบและสภาพแวดล้อมการผลิต ฉันสงสัยว่ามีแอพ / เครื่องมือ / วิธีการที่ผู้คนสามารถแนะนำได้หรือไม่ตามข้อ จำกัด เหล่านี้:
ตัวดีบักเกอร์ไม่สามารถใช้ได้บนไซต์ของลูกค้าหรือในเครื่องเนื่องจากซอฟต์แวร์จะขึ้นอยู่กับแอปพลิเคชันของบุคคลที่สามที่เรากำหนดเองซึ่งเราไม่มีสภาพแวดล้อมการทดสอบ (แก้ไข: เพื่อความยุติธรรมมันเป็นไปได้ที่จะแก้จุดบกพร่องในเครื่องในบางกรณีถ้าเราใช้อะไรนอกจากรหัสหลักรหัสที่มีปัญหาส่วนใหญ่อยู่ใน dll ที่ห่อหุ้มการสื่อสารเฉพาะบุคคลที่สาม: ซ็อกเก็ตกระบวนการท่อสบู่เรียก ตรรกะที่กำหนดเองที่เปลี่ยนแปลงพฤติกรรมของรหัสหลักโดยทั่วไปในระหว่างการนำไปใช้งานหรือปรับปรุงสำหรับลูกค้า
แทบจะไม่มีการบันทึกในแอพของเรา ไม่มีการทดสอบหน่วย
การควบคุมเวอร์ชันมีโซลูชันเต็มรูปแบบเพียง 1 เวอร์ชันเท่านั้น (โดยใช้แหล่งที่มาที่ปลอดภัย 2005) ดังนั้นจึงเป็นไปไม่ได้ที่จะได้รับโซลูชั่นรุ่นก่อนหน้าทั้งหมด แต่เพียงไฟล์เดียว (ถ้าไม่มีใครรู้วิธีแก้ปัญหานี้)
ไม่สามารถทำซ้ำภายในเครื่องบ่อยครั้งไม่สามารถทำซ้ำในสภาพแวดล้อมการทดสอบ (มีโอกาสสูงที่การทดสอบและการผลิตไม่เป็นรุ่นเดียวกัน)
มีโอกาสสูงที่เวอร์ชันที่ไคลเอ็นต์กำลังใช้จะแตกต่างจากแหล่งที่ปลอดภัย นี่เป็นเพราะแต่ละไฟล์ถูกอัพเดตซึ่งมีโลจิคัลที่กำหนดเองแบบฝังสำหรับไคลเอ็นต์เฉพาะนั้น บ่อยครั้งที่สิ่งที่เกิดขึ้นคือมีการอัพเดตไบนารีซึ่งต้องการการเปลี่ยนแปลงไบนารีอื่น ๆ หลายอย่าง แต่เมื่อการคอมมิชชันเสร็จสิ้นไม่มีใครมีบันทึกหรือความรู้เกี่ยวกับเรื่องนี้ ข้อผิดพลาดทั่วไปที่ฉันเห็นคือ 'ไม่พบฟังก์ชัน / วิธีการ' หรือ 'การเรียกใช้เมธอดมีการระบุพารามิเตอร์มากเกินไป / น้อยเกินไป' บนสภาพแวดล้อมของไคลเอ็นต์
นี่คือโซลูชัน. net VB
ไม่สามารถติดตั้งซอฟต์แวร์ใด ๆ ในเว็บไซต์ของลูกค้า แต่สามารถอยู่ในเครื่อง
แอปพลิเคชันของเราสามารถปรับแต่งได้อย่างมาก แต่น่าเสียดายที่ตรรกะการปรับแต่งนั้นแพร่กระจายไปทั่วชั้นเรียนและไฟล์ทั้งหมดตั้งแต่ส่วนหน้าไปจนถึงชั้นข้อมูลรวมถึงการเปลี่ยนแปลงที่กำหนดเองไปยังฐานข้อมูลตามลูกค้าแต่ละราย
แทบไม่มีความคิดเห็นในรหัส ไม่มีเอกสารเกี่ยวกับสถาปัตยกรรม ไม่มีเอกสารเกี่ยวกับ API สิ่งเดียวที่เรามีคือร้อยต่อร้อยอีเมลโซ่ที่ค่อนข้างจะอธิบายสิ่งที่เกิดขึ้น มีเพียงคนที่รู้รหัสเป็นคนแรกที่เขียนมัน แต่พวกเขาไม่ได้เป็นนักพัฒนาอีกต่อไปดังนั้นพวกเขาจึงไม่ได้มีส่วนร่วมมากนัก
และก่อนที่คุณจะพูดมัน ... ใช่ฉันรู้ ฉันต้องการยิงตัวเองเช่นกัน มันไม่ได้ช่วยให้มีรหัสสปาเก็ตตี้คำเตือนของผู้รวบรวมหลายร้อยและความแตกต่างหลากหลายที่จริง ๆ ควรได้รับการแก้ไข แต่ฉันไม่ได้พูดในนั้น
ข้อผิดพลาดที่พบบ่อยที่สุดที่ฉันพบคือข้อผิดพลาดในการอ้างอิงแบบ null, การ cast ที่ไม่ถูกต้องและฟังก์ชัน / ฟังก์ชั่นที่หายไปไม่ตรงกัน บางครั้งฉันโชคดีและผู้ดูเหตุการณ์จะบันทึกคลาสวิธีและข้อความข้อยกเว้น มันไม่ได้เป็นประโยชน์มากที่สุด แต่ก็ยังมีบางสิ่ง ที่เลวร้ายที่สุดคือข้อผิดพลาดที่ไม่มีการติดตามไม่มีขั้นตอนการทำซ้ำนอกเหนือจากภาพหน้าจอและเป็นข้อความแสดงข้อผิดพลาดทั่วไปเช่นที่กล่าวถึงข้างต้น บางครั้งมันเป็นไปไม่ได้ที่จะค้นหาสาเหตุที่เกิดขึ้นเพียงเพื่ออธิษฐานว่าสภาพแวดล้อมนั้นไม่ได้รับการกำหนดค่าอย่างเหมาะสมและมันจะหายไปในภายหลัง
ฉันรู้ว่าสิ่งนี้ออกมาเป็นคำพูดหยาบคายและในระดับหนึ่ง แต่ฉันหมดหวังสำหรับตัวเลือก มีวิธีการ / เครื่องมืออื่น ๆ ที่ฉันสามารถใช้ได้หรือไม่?