Thực tế phổ biến để gỡ lỗi là gì?


7

1) địa phương hay từ xa? Tôi hiểu rằng cách tốt nhất để gỡ lỗi là có phiên bản cục bộ của trang web của bạn, nhưng đôi khi để tạo phiên bản cục bộ của trang web hiện tại của bạn có thể rất tốn thời gian, đặc biệt là khi trang web đã được xuất bản và bạn chỉ muốn thực hiện một vài điều chỉnh hoặc sửa một số vấn đề nhỏ.

2) vì lý do tôi đã đề cập ở trên, tôi thường gỡ lỗi trực tuyến. Đây là một kịch bản điển hình mà tôi thường gặp: Giao diện người dùng đang báo cáo lỗi liên quan đến tệp php, tôi mở tệp và xem dòng trong câu hỏi, đó là một phương thức của một lớp. Sau đó tôivar_dumpcác biến liên quan để xem có gì sai, thường thì nó không giúp ích gì, sau đó tôi đi sâu vào hàm chỉ để biết rằng các biến trong câu hỏi có liên quan đến một trong các tham số của hàm. Để biết chính xác tham số là gì, tôi cần tìm ra hàm này được gọi ở đâu. Đây là nơi tôi thường gặp khó khăn, tôi phải tải phần mở rộng hoặc thậm chí toàn bộ trang web về địa phương và thực hiện tìm kiếm trong văn bản cho chức năng trong tất cả các tệp php. Thường có rất nhiều lời cầu khẩn, tôi phải thử từng cái một để xem cái nào gây ra vấn đề. Thường xuyên hơn, điều này sẽ dẫn đến một chức năng khác mà tôi cần lặp lại quy trình trên một lần nữa .... Quy trình này rất tốn thời gian và tôi thường cảm thấy thất vọng và bối rối. Đây có phải là những gì mọi người đi qua?

Vì vậy, tôi tự hỏi làm thế nào một nhà phát triển j Joomla tinh vi sẽ gỡ lỗi trang web của mình, thực tế phổ biến cho việc này là gì? Tôi đã đọc tài liệu j Joomla để gỡ lỗi và vẫn đang làm việc để cấu hình môi trường nhật thực / xdebug, nhưng tôi nghĩ các câu hỏi trên vẫn còn.


Tôi nghĩ xdebug hoặc trình gỡ lỗi PHP tương tự là điều cần thiết nếu bạn định viết mã / gỡ lỗi một cách thường xuyên.
TryHarder

Câu trả lời:


5

Tôi không phải là một nhà phát triển tinh vi và tôi cũng gỡ lỗi trong các trang web trực tuyến.

Tôi sử dụng công cụ tuyệt vời này

http://extensions.j Joomla.org/extension/j-dump

Nó có rất nhiều lợi thế so với một var_dump duy nhất. Hi vọng nó có ích cho bạn.


Cảm ơn bạn! Bạn cũng đi qua thủ tục tôi đề cập? . )
shenkwen

Bằng cách mô tả của phần mở rộng trông rất hứa hẹn, cảm ơn bạn một lần nữa!
shenkwen

jdump, sử dụng như dump ($ object) sẽ hiển thị cho bạn các giá trị của biến đối tượng $, nhưng bạn cũng có thể sử dụng dumpTrace (); cung cấp cho bạn các cuộc gọi được thực hiện.
Piero Marsilio

5

Chà, sở thích cá nhân của tôi là ... nó phụ thuộc vào chính xác những gì cần được gỡ lỗi.

Nếu đó là một yếu tố đơn giản không hiển thị chính xác do một số CSS kỳ lạ, tôi sẽ chỉ cần chạy trang web trực tiếp, mở Fireorms và sắp xếp nó.

Nếu đó là một vấn đề liên quan đến PHP hoặc JS, tôi thường có xu hướng lấy một bản sao của trang web và chạy nó trên máy chủ lưu trữ cục bộ của mình. Đây luôn là cách tiếp cận tốt nhất vì bạn có thể muốn bắt đầu mã thử nghiệm biến var var. Mọi người không nên thấy điều này xảy ra trên một trang web trực tiếp.

Ngoài ra, rất nhiều thời gian khi gỡ lỗi, bạn có thể thấy tốt khi sử dụng exit;để xác nhận mã trong các câu lệnh có điều kiện có hoạt động hay không. Sử dụng điều này sẽ (như bạn có thể đã biết), dẫn đến một trang web trống. Một lý do khác để không gỡ lỗi trên một trang web trực tiếp.

Nếu bạn gặp phải một điểm mất quá nhiều thời gian để thiết lập trang web trên máy chủ cục bộ của mình, tôi khuyên bạn nên tạm thời đặt trang web ở chế độ ngoại tuyến cho đến khi được sửa.

Một mẹo cho tương lai khi phát triển trang web là xây dựng nó trên localhost của bạn và thay đổi báo cáo của Joomla trong Cấu hình toàn cầu thành phát triển để tất cả các lỗi được hiển thị và có thể được sửa chữa trước khi đẩy trực tiếp


Thiết lập trình gỡ lỗi cục bộ ngày nay rất dễ dàng với xdebug và hầu hết các trình soạn thảo phát triển. Bạn tăng tốc độ phát triển của mình một cách đáng kể và cũng có thể tự mình thực hiện các bước mã
jdog
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.