MSVC6: Programul de întrerupere a punctelor de întrerupere

Utilizând Microsoft Visual Studio 98, Microsoft Visual C ++ 6.0 SP6

Când rulați sub debugger, există o singură problemă. Dacă întrerup programul și reluăm, totul este bine.

Problema? Când am lovit un punct de întrerupere, programul meu se oprește. Dar nu într-un mod bun; execuții de execuție, sunt eliminat din modul de depanare în modul de editare. Totul este bine până când o lovitură este lovită. Și știu că atinge punctul de pauză - văd un fulger al săgeții galbene care indică linia dreaptă a codului, variabilele locale din fereastra de inspectare și stiva de apel din acea fereastră. Și apoi mă uit la editor.

Acest lucru se întâmplă în toate proiectele.

Am dezinstalat și re-instalat MSVC6. Nu a ajutat.

Sunt pe cale să încep de la un PC nou; înainte de a merge atât de departe, cineva știe ce am făcut cu asta?


Notă: MSVC6 nu este alegerea mea, dar există motive. Este instrumentul cu care lucrez. Și ajungem să vizăm NT4, așa că 2008 nu poate viza NT4 și 2005 are probleme cu MFC și NT4, MSVC6 este.

0
fr hi bn

6 răspunsuri

Nu am folosit MSVC6 de ani de zile, dar îmi amintesc că debuggerul a fost o bucată de rahat. Lucruri de genul asta s-ar întâmpla în mod regulat, fără nici un motiv aparent, pentru că nu i-a plăcut codul în acea zi.

În plus față de debugger fiind o bucată de rahat, restul a fost prea.

Este implementarea STL nu este threadsafe, nu suportă foarte mult standardul C ++, iar IDE este lipsit de detalii.

Sunt destul de sigur că, de asemenea, pur și simplu nu puteți folosi nici o versiune a platformei SDK din ultimii 5 ani, deoarece este prea veche ca să-i grotezi. Nu este un lucru bun.

Ai fi supărat să-l folosiți atunci când există Visual C ++ Express 2008 pe care îl puteți Descarcă gratis.

0
adăugat
Eu am fost cel care a scos-o jos. În general, oamenii nu vor utiliza VC6 dacă nu există un motiv foarte bun pentru a face acest lucru. Oamenii a căror reacție kneejerk este de a îmbunătăți sau de a folosi stimula pe mine mă enervează, deoarece este nefolositoare. De asemenea, aceste postări au fost în zilele înainte de a putea comenta - notați că am ridicat problema VC2K8EE în postul meu.
adăugat autor graham.reeds, sursa

Nu mai bate la VC6. E veche. STL a fost actualizat în 1996 de la codul HP scrise în 1994. C ++ a fost ratificat în 1998.

Ce face codul atunci când rupeți? Puteți reduce situația într-un simplu test. Când încerc să găsesc de obicei cauza. Dacă poți face asta, așa că se mai întâmplă, atunci o să te uiți la ea. Și eu sunt destul de nefericit să folosesc VC6 pentru munca mea zilnică.

Visual C ++ Express 2008 nu poate fi utilizat în anumite situații.

0
adăugat

Dispare dispozitivul din memorie și, prin urmare, renunță la fantomă când necesită ca memoria suplimentară să se oprească la punctul de întrerupere?

Nu, există peste un spectacol de RAM pentru a merge, și chiar mai mult de memorie virtuală.

0
adăugat

Este specifică aplicației pe care lucrați sau faceți toate întreruperile din orice aplicație care încalcă depanatorul?

Este ceva diferit dacă atașați manual depanatorul după lansarea în mod normal a aplicației?

0
adăugat

Dispare dispozitivul din memorie și, prin urmare, renunță la fantomă când necesită ca memoria suplimentară să se oprească la punctul de întrerupere?

0
adăugat

Primul lucru pe care l-aș verifica este dacă acest proiect face același lucru pe alte mașini. Dacă nu, ar putea fi căsuța ta se îndreaptă spre sud. Dacă nu este proiectul VC6 în sine.

În mod obișnuit, mă deranjează cu programul de depanare atunci când programul meu face ceva cu hardware-ul, în special video.

Aș recomanda să opriți părți din programul dvs. până când vă dați seama ce parte provoacă acest lucru. Dacă programul tău este mic și nu faci prea mult, este posibil ca proiectul să fie corupt și trebuie să se refacă. Faceți un nou proiect de la zero și puneți-vă la loc fișierele și setările.

0
adăugat