2010-05-21 14 views
19

Podczas budowania aplikacji. VS złoży skargę na przekroczenie liczby błędów:Jak zwiększyć limit błędów w Visual Studio?

fatal error C1003: error count exceeds 100; stopping compilation 

Czy istnieje sposób na zwiększenie limitu?

Dzięki z góry,
- Oleksii Skidan

+9

tylko ciekaw, dlaczego chcesz to zrobić? – jaywon

+13

Nie wiem, czy to możliwe, czy nie, ale czy mogę zapytać o Twoją motywację? Czy otrzymujesz ponad 100 * znaczących * komunikatów o błędach? – avakar

+1

Powiedzmy, że chcę znaleźć wszystkie funkcje, które są zadeklarowane w nagłówku i używane w pliku źródłowym, który może zawierać po kolei tysiące innych nagłówków.Jeśli wyłączę włączenie tego nagłówka, kompilacja zakończy się niepowodzeniem z C1003. Zła część tego jest taka, że ​​awaria wystąpi n nagłówek w dół hierarchii włączenia, więc nigdy nie dowiem się, które funkcje zostały użyte w moim pliku źródłowym. –

Odpowiedz

6

Nie sądzę. VS zasadniczo zgłasza wszystkie błędy napotkane podczas kompilacji. Może być kilka błędnych części kodu, które sprawiają, że kompilator zostaje złapany w nieskończoną pętlę "błędu".

Limit został wprowadzony, aby tego uniknąć. W większości przypadków 100 otrzymanych błędów to ten sam błąd zgłaszany w kółko. Jaki sens miałby wzrost liczby powtórzeń?

Być może możesz opublikować fragment kodu, w którym błąd występuje najpierw, abyśmy mogli pomóc Ci go naprawić.

3

Uważam, że jest to zakodowany limit, więc nie.

Jak stwierdzili inni, trudno jest zrozumieć, co chcesz osiągnąć przez to.

Pod koniec dnia, będziesz musiał je wszystkie naprawić, więc utknij i zacznij je naprawiać. Ostatecznie otrzymasz poniżej 100 i możesz zacząć je liczyć.

Zazwyczaj rejestracja faktycznej liczby błędów nie występuje w takiej sytuacji. W większości przypadków, gdy dostajesz C1003, to w rzeczywistości tylko kilka błędów rzeczywistych, co prowadzi do ogromnego łańcucha innych błędów.

(np)

  • Jeśli wystąpi błąd w pliku .h, że błąd zostanie zgłoszony w każdym pliku .cpp że #includes niego.
  • Jeśli występuje błąd uniemożliwiający zdefiniowanie dowolnego rodzaju identyfikatora (np. Klasa, zmienna, nazwa metody), to za każdym razem, gdy spróbujesz go użyć później, zostanie zgłoszony błąd.
+0

@ Paul Butcher Np. jeśli masz 3 projekty i dwa zależą od biblioteki klas, to dwie mogą rzucić milion błędów z powodu biblioteki, ale nie możesz dostać się do błędów biblioteki z powodu do limitu. Tam właśnie jestem i to jest ból. Nawet jeśli kompilujesz bibliotekę, błędy pozostałych dwóch projektów stają na przeszkodzie. – SteveCinq

2

Obejście zmniejszyć liczbę zgłaszanych błędów:

  • zmiany nazwy cl.exe do CL-orig.exe
  • rolki własną cl.exe który uruchamia CL-orig.exe, przechwytywanie jego stdout/stderr
  • parse stderr, szukając komunikatów o błędach i liczenia im
  • przerwy po pierwszych błędów n

Aby uzyskać wskazówki, zobacz stronę http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx.

23

To ograniczenie jest zakodowane na stałe.Oto post z pracownikiem MSFT w grupie microsoft.public.vsnet.general dnia 2006 (poszukaj „Błąd krytyczny C1003”):

Cześć,

Niestety to 100 ograniczeniem jest ciężko kodowane i nie może być zmieniona. Jest to po prostu niepraktyczne, aby wszystkie informacje o błędach były przechowywane, ponieważ jeden błąd może spowodować, że inne błędy będą inne.

Mam nadzieję, że rozumiesz racjonalność tego projektu za pomocą naszego produktu . Jeśli jednak nadal będziesz się tym martwić, prosimy o kontakt , aby przesłać swoją opinię pod nr
http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220 , która jest monitorowana przez nasz zespół produktu . Dziękuję za zrozumienie .

poważaniem, Walter Wang (WAW ... @ online.microsoft.com, usunąć 'on-line'). Microsoft Online Community Support”

Powiązane problemy