Я задавался вопросом, когда Угловая журналы ошибок это куча бреда похожее на это:Debugging Угловая
Error: [ng:areq] Argument 'AppController' is not a function, got undefined
http://errors.angularjs.org/1.2.23/ng/areq?p0=AppController&p1=not%20a%20function%2C%20got%20undefined
at http://localhost/NAME/vendors/angular/angular.js:78:12
at assertArg (http://localhost/NAME/vendors/angular/angular.js:1509:11)
at assertArgFn (http://localhost/NAME/vendors/angular/angular.js:1519:3)
at http://localhost/NAME/vendors/angular/angular.js:7271:9
at http://localhost/NAME/vendors/angular/angular.js:6663:34
at forEach (http://localhost/NAME/vendors/angular/angular.js:332:20)
at nodeLinkFn (http://localhost/NAME/vendors/angular/angular.js:6650:11)
at compositeLinkFn (http://localhost/NAME/vendors/angular/angular.js:6098:13)
at compositeLinkFn (http://localhost/NAME/vendors/angular/angular.js:6101:13)
at compositeLinkFn (http://localhost/NAME/vendors/angular/angular.js:6101:13)
Как узнать, какая линия МОЕ кода (не угловой исходный код) срабатывает ошибка? Добавление контрольных точек или Batarang не помогает.
Редактировать
У меня нет проблем с этой конкретной ошибки. Бывают случаи, когда угловые регистрируют номер строки, например Controller.js:1183:48
, и случаи, когда это не так. В чем разница? И в последнем случае, как узнать строку ошибок MY?
так как вы НАЙТИ источник проблемы? Я не хочу тратить часы на поиск ошибки одного персонажа, которая не связана с моей текущей проблемой. Этот ответ не отвечает на самую важную часть вопроса. – user3338098
Не зная конкретной ошибки (вопрос не касался конкретной ошибки), невозможно полностью ответить. Много раз невозможно определить строку кода на основе трассировки стека, и обычно это потому, что угловой не имеет возможности сообщать о строке вашего представления html, в котором выражается встроенное выражение. Но в этих случаях действительно должно быть достаточно очевидно, что вы можете определить проблему в нескольких частях кода. Использование unminified версии AngularJS в debug добавляет к гораздо более подробному протоколу, что обычно полезно. – Dave
Также я добавлю, что очевидное решение состоит в том, чтобы убедиться в том, что в шаблоне # 1 имеется как можно больше ошибок. Вы можете сделать это, ограничив использование сложных встроенных выражений и вместо этого откладывая функции контроллера для любых преобразований данных. Затем вы просто остаетесь, убедившись, что ваш синтаксис верен для таких вещей, как ng-repeat и ng-options. В тех случаях, когда ваше мнение настолько велико, что на самом деле требуется «часы» для отслеживания, я бы предложил уменьшить размер вашей проблемы, добавив больше структуры, но это основные принципы программирования, которые я ожидал, что OP уже знает об этом. – Dave