Deci, s-ar putea să aibă sens să depanem imediat versiunea de lansare? Pro: - execută un ordin de mărime mai rapid, relevant pentru proiectele mari; - programatorii încep imediat să testeze versiunea pe care clientul o va utiliza; - În paralel, puteți rula profilul. Contra: - Nu toate codul poate fi depanat, caz în care puteți merge la versiunea de depanare; - afirmarea nu funcționează și nici o ieșire de mesaje de depanare. - atropin 3 Apr '13 la 5:40 am
> Pro: - funcționează cu un ordin de mărime mai rapid Dacă lansarea funcționează cu un ordin de mărime mai rapidă, atunci aceasta este o ocazie de reflectat.> Relevant pentru proiectele mari; pentru ei, cealaltă este relevantă - viteza de compilare. Și asamblarea corectă va fi asamblată mai repede (compilatorul nu trebuie să facă o optimizare suplimentară).> În paralel, puteți rula profilul de profil care va încetini codul de mai multe ori. Testarea cu profilele paralele este o altă plăcere.> Assert nu funcționează și nici o ieșire de mesaje de depanare. acest lucru poate fi de obicei configurat cu chei pentru preprocesor. - KoVadim 3 Apr '13 la 6:51 am
> Dacă lansarea funcționează cu un ordin de mărime mai rapidă, atunci aceasta este o ocazie de reflectat. În depanare există o grămadă de controale. De exemplu, în STL, verificarea dimensiunilor containerelor dincolo de granițe etc. etc> viteza de compilare De obicei, atunci când se proiectează, nu este nevoie de re-compilarea întregului proiect. Lucrarea vine cu un număr mic de biblioteci.> Care va încetini codul de mai multe ori. Testarea cu profiler paralele> este o altă plăcere. Programul cu profiler de la VS 10 rulează cu aproape aceeași viteză ca și fără. - atropin 3 Apr '13 la 15:02
La compilarea unei versiuni de lansare, compilatorul folosește o serie de optimizări concepute pentru a face ca codul dvs. să ruleze mai repede. Dar, în același timp, stabilitatea programului ar putea scădea și va începe să zboare. Este pentru a găsi locul în care programul optimizat se blochează și pentru a găsi optimizarea care a provocat-o și a debuga versiunea lansată. În alte cazuri, depanarea se face în versiunea de depanare. Când creați o versiune de depanare, compilatorul nu numai că dezactivează toate optimizările, dar generează de asemenea informații simbolice de depanare care ajută la depanarea aplicației. Aceste informații nu sunt incluse în versiunea de lansare (deoarece utilizatorul aplicației nu are nevoie de el).
răspunsul dat 29 Mar '13 la 11:45
De fapt, dacă programul se blochează, este un bug. Faptul că bug-ul nu apare accidental în anumite condiții (de exemplu, într-o configurație de depanare) nu îl face mai puțin periculos. În schimb, un bug care apare numai în anumite condiții este mult mai periculos, deoarece nu știți la ce punct va corupe datele utilizatorului. - VladD 2 Apr '13 la 11:49