Đừng bận tâm. Lý do điều này không hiệu quả: Tôi đã quên meteor reset
vì vậy debugger
không có cơ hội dừng lại. Duh!Làm thế nào để gỡ lỗi và đăng nhập mã riêng trên phía máy chủ của Meteor?
Thông tin thêm: Tôi đang sử dụng phương thức trong câu trả lời của Mason Chang cho câu hỏi liên quan, không phải là kill -s USR1 [proc_id]
(nơi tôi có thể xem tập lệnh, nhưng không thể dừng trong hàm startup().). Ngoài ra, tôi đang sử dụng thiên thạch.
Tôi cố gắng để gỡ lỗi mã Meteor.startup(function()) về phía máy chủ Meteor (ví dụ, dưới /server
) với nút-thanh tra, tôi đã đọc question này, và sau đây là câu trả lời để thay đổi run.js
, nhưng bằng cách nào đó, kịch bản của riêng mình cho khởi động chức năng không hiển thị trong phần tập lệnh của Chrome.
Làm cách nào để xem mã của tôi ở đây và đặt điểm ngắt và dừng tại các điểm đó? BTW, Meteor_debug() không xuất ra bất cứ thứ gì để điều khiển trình duyệt stdout, stderr hoặc node-inspector. Tôi cũng đã thử console.log() mà không có kết quả. Làm cách nào để bật ghi nhật ký trên máy chủ Meteor?
Nếu nó quan trọng, tôi đang ở trên chi nhánh auth
.
Mã này ở đây rất đơn giản (/server/bootstrap.js):
Meteor.startup(function() {
if (Logs.find().count() === 0) {
var data = [/*...some data...*/];
var timestamp = (new Date()).getTime();
Meteor._debug("timestamp: "+timestamp+", data.len: " + data.length);
debugger;
for (var i = 0; i < data.length; i++) {
data[i].timestamp = timestamp++;
var entry_id = Logs.insert(data[i]);
Meteor._debug("entry_id: "+ entry_id);
}
}
});
Tuyệt vời, cảm ơn! – huyz
Liệu hack này vẫn áp dụng vì Meteor hiện có hỗ trợ cho '--debug' và' --debug-brk'? – Brandon
@ Brandon: mọi thứ trở nên dễ dàng hơn nhiều. Xem [Gỡ lỗi trong Câu hỏi thường gặp về thiên thạch không chính thức] (https://github.com/oortcloud/unofficial-meteor-faq/blob/master/README.md#how-do-i-debug-my-meteor-app) (cảm ơn đến Kasima Tharnpipitchai). Hy vọng rằng Qichao có thể cập nhật câu trả lời. –