Команда Maven для списка фаз жизненного цикла наряду со связанными целями?

А также стандартный случай вызывания виртуальной функции от конструктора или деструктора объекта с чистыми виртуальными функциями, можно также получить чистый вызов виртуальной функции (на MSVC, по крайней мере), если Вы вызываете виртуальную функцию после объекта, был уничтожен. Очевидно, это - довольно плохая вещь попытаться сделать, но если Вы работаете с абстрактными классами как интерфейсы, и Вы портите тогда, это - что-то, что Вы могли бы видеть. Возможно более вероятно, если Вы используете считаемые интерфейсы, на которые ссылаются, и Вы имеете касательно ошибки количества или если у Вас есть объектное состояние состязания разрушения использования/объекта в многопоточной программе... Вещь об этих видах purecall состоит в том, что часто менее легко постигнуть то, что продолжается как проверка на 'обычных подозреваемых' в виртуальных вызовах в ctor, и dtor подойдет чистый.

Для помощи с отладкой этих видов проблем, в различных версиях MSVC, можно заменить purecall обработчик библиотеки времени выполнения. Вы делаете это путем предоставления собственной функции эту подпись:

int __cdecl _purecall(void)

и соединение его перед соединением библиотеки времени выполнения. Это дает ВАМ контроль того, что происходит, когда purecall обнаруживается. Как только Вы имеете контроль, можно сделать что-то более полезное, чем стандартный обработчик. У меня есть обработчик, который может обеспечить отслеживание стека того, где purecall произошел; посмотрите здесь: http://www.lenholgate.com/blog/2006/01/purecall.html для получения дополнительной информации.

(Отмечают, можно также назвать _set_purecall_handler () для установки обработчика в некоторых версиях MSVC).

93
задан Eliezio Oliveira 28 March 2018 в 22:47
поделиться

2 ответа

MVN Help: описать -dcmd = compired (или любой другой допустимый этап)

122
ответ дан 24 November 2019 в 06:13
поделиться

One tool that helps is mvn help:effective-pom It will print the POM with all variables and all parent POMs expanded. This helps to understand what Maven sees. From that, it's pretty simple to find all the additional goals (which usually aren't that many).

The bigger problem is the implicit goals (i.e. when a plugin hooks itself to some phases of the lifecycle automatically). There is no easy way to see these without actually running Maven. This should become better in Maven 3. Until then, run Maven with -X which will print a whole lot of debug output plus the current phase and which plugins are executed.

15
ответ дан 24 November 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: