Saya sering ditugaskan untuk men-debug aplikasi di pekerjaan saya. Ini adalah Aplikasi BI yang kami gunakan untuk bisnis, yang meliputi lingkungan pengujian, dan lingkungan produksi. Saya bertanya-tanya apakah ada aplikasi / alat / metode yang dapat disarankan orang, berdasarkan kendala ini:
Debugger tidak dapat digunakan di situs klien atau secara lokal, karena perangkat lunak tergantung pada aplikasi pihak ketiga khusus yang kami tidak memiliki lingkungan pengujian. (EDIT: untuk bersikap adil, adalah mungkin untuk men-debug secara lokal dalam beberapa kasus. Jika kita tidak menggunakan apa pun kecuali kode inti. Banyak kode bermasalah berada di dll yang merangkum komunikasi spesifik pihak ketiga: soket, pipa proses, panggilan sabun, logika khusus yang mengubah perilaku kode inti. Biasanya selama implementasi atau peningkatan untuk klien, kami akan menulis kode baru ke area ini.)
Hampir tidak ada penebangan yang dilakukan di aplikasi kami. Tidak ada tes unit.
Kontrol versi hanya memiliki 1 versi dari solusi lengkap (menggunakan source safe 2005). Jadi tidak mungkin untuk mendapatkan versi sebelumnya dari seluruh solusi, hanya file individual. (Kecuali ada yang tahu cara mengatasi ini).
Tidak dapat mereproduksi secara lokal, seringkali kali tidak dapat mereproduksi di lingkungan pengujian (Kemungkinan besar pengujian dan produksi bukan versi yang sama).
Ada kemungkinan besar bahwa versi yang digunakan klien berbeda dari yang ada di sumber aman. Ini karena file individual diperbarui, yang telah menyematkan logika khusus untuk klien tertentu. Seringkali yang terjadi adalah pembaruan dibuat ke biner, yang membutuhkan perubahan pada beberapa binari lainnya, tetapi ketika komit dilakukan, tidak ada yang memiliki catatan atau pengetahuan tentang ini. Kesalahan yang agak umum saya lihat adalah 'Function / Method not found' atau 'Method call memiliki terlalu banyak / terlalu sedikit parameter yang ditentukan' pada lingkungan klien.
Ini adalah solusi .net VB
Tidak dapat menginstal perangkat lunak apa pun di situs klien, tetapi dapat secara lokal
Aplikasi kami sangat dapat dikustomisasi, tetapi sayangnya logika kustomisasi tersebar di semua kelas dan file, dari ujung depan sampai ke lapisan data, termasuk perubahan khusus yang dibuat ke database pada basis per klien.
Hampir tidak ada komentar dalam kode. Tidak ada dokumentasi tentang arsitektur. Tidak ada dokumentasi tentang api. Satu-satunya yang kami miliki adalah ratusan rantai email yang menjelaskan apa yang terjadi. Satu-satunya orang yang mengetahui kode adalah orang-orang yang semula menulisnya, tetapi mereka tidak lagi pengembang per kata sehingga mereka tidak terlalu terlibat.
Dan sebelum Anda mengatakannya ... ya saya tahu; Saya ingin menembak diri sendiri juga. Itu tidak membantu bahwa ada kode spaghetti, ratusan peringatan kompiler, dan polimorfisme patah yang BENAR-BENAR harus diperbaiki, tetapi saya tidak memiliki suara di dalamnya.
Jenis kesalahan paling umum yang saya temui adalah kesalahan referensi nol, gips yang tidak valid, dan fungsi yang hilang / ketidakcocokan tanda tangan fungsi. Terkadang saya beruntung dan pemirsa acara akan mencatat pesan kelas, metode, dan pengecualian. Ini bukan yang paling membantu, tapi tetap saja sesuatu. Yang terburuk adalah kesalahan yang tidak memiliki jejak, tidak ada langkah repro selain tangkapan layar, dan pesan kesalahan umum seperti yang disebutkan di atas. Kadang-kadang tidak mungkin untuk mencari tahu mengapa itu terjadi, hanya untuk berdoa agar lingkungan tidak dikonfigurasikan dengan benar, dan itu akan hilang kemudian.
Saya tahu ini muncul sebagai kata-kata kasar, dan sedikit banyak. Tapi saya sangat membutuhkan opsi. Apakah ada metode / alat lain yang bisa saya gunakan?