Как увеличить лимит ошибок в Visual Studio?

При создании приложения. VS будет жаловаться на превышение количества ошибок:

fatal error C1003: error count exceeds 100; stopping compilation

Есть ли способ увеличить лимит?

Заранее спасибо,
- Алексей Скидан

4 ответа

Это ограничение жестко закодировано. Вот сообщение от сотрудника MSFT в microsoft.public.vsnet.general группа от 2006 года (ищите "Фатальная ошибка C1003"):

Привет,

К сожалению, это ограничение 100 жестко закодировано и не может быть изменено. Хранить всю информацию об ошибках просто нецелесообразно, так как одна ошибка может вызвать другие, несколько ошибок.

Я надеюсь, что вы понимаете, что стоит за этой конструкцией нашей командой разработчиков. Однако, если у вас все еще есть проблемы по этому поводу, пожалуйста, не стесняйтесь оставить свой отзыв на
http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220 мониторинг которого осуществляет наша команда разработчиков продукта. Спасибо за Ваше понимание.

С уважением, Уолтер Ванг (waw...@online.microsoft.com, удалите "онлайн").

Я так не думаю. В основном VS сообщает обо всех ошибках, с которыми он сталкивается во время компиляции. Могут быть некоторые ошибочные части кода, из-за которых компилятор попадает в бесконечный цикл "ошибки".

Ограничение было введено, чтобы избежать этого. В большинстве случаев 100 ошибок, которые вы получаете - это одна и та же ошибка, о которой сообщается снова и снова. Какой смысл в увеличении количества повторений?

Может быть, вы можете опубликовать фрагмент кода, где ошибка возникает в первую очередь, чтобы мы могли помочь вам исправить ее.

Обходной путь для уменьшения количества зарегистрированных ошибок:

  • переименовать cl.exe в cl-orig.exe
  • сверните свой собственный cl.exe, который запускает cl-orig.exe, захватывая его stdout / stderr
  • разбирать stderr, искать сообщения об ошибках и считать их
  • перерывы после первых n ошибок

См. http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx для некоторых советов.

Я считаю, что это жестко заданный предел, поэтому нет.

Как прокомментировали другие, трудно понять, чего вы хотите достичь.

В конце дня вам придется исправить их все, так что застряните и начните их исправлять. В конце концов, вы получите менее 100, и вы можете начать считать их.

Обычно не имеет смысла сообщать фактическое количество ошибок, когда это происходит. В большинстве случаев, когда вы получаете C1003, на самом деле это всего лишь несколько реальных ошибок, что приводит к огромной цепочке других ошибок.

(например)

  • Если есть ошибка в файле.h, эта ошибка будет сообщаться в каждом файле.cpp, который #includes Это.
  • Если есть ошибка, которая препятствует определению любого типа идентификатора (например, класс, переменная, имя метода), то каждый раз, когда вы пытаетесь использовать его позже, сообщается об ошибке.

У меня также есть такой проект: иногда Visual Studio решает, что нужно еще многое сделать, отправляет 100 действительно не относящихся к делу сообщений о других частях решения и прерывает сборку, поскольку достигло предела количества сообщений, не работая над проектом, который мне интересен.,

Обходное решение, которое мы нашли, заключается в использовании msbuild для построения решения из командной строки: пошаговое руководство по использованию MSBuild описывает шаги. msbuild выводит все сообщения на консоль, и после завершения сборки мы можем снова работать и отлаживаться в Visual Studio. Не идеально, но это позволяет нам выполнить поставленную задачу.

Другие вопросы по тегам