[VC++ 2003] Debug functie

Pagina: 1
Acties:

  • FidoDido
  • Registratie: Augustus 2005
  • Laatst online: 19:38
Ik zit met volgende probleem, waar ik niet uitkom.

Ik heb een project aangemaakt, en vervolgens add ik een nieuw item toe aan me mijn project. Hierin heb ik een c++ script programma gemaakt.
me Mijn project heet test, en dan maakt die een bestand test.ccp aan. En het nieuwe bestand heet 102.ccp
Nu wil ik 102.ccp gaan debuggen maar elke keer pakt die test.ccp om te debuggen, en elk ander bestand kan ik niet debuggen.

Moet ik dit ergens aangeven?? want lijkt me logisch dat bestand wat ik open heb staan en vervolgens debug klik dat die die gaat debuggen.

Heb gezocht en zelf zitten zoeken maar kom er echt ff niet uit.

[ Voor 5% gewijzigd door whoami op 06-09-2005 20:19 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:54
Wat versta jij onder 'debuggen' ?

Wat zit er ine 102.cpp ? Een class ?
Welke class bevat de main entry point van je application ?

Die wordt het eerste opgestart, als je 102.cpp wilt debuggen, dan zal je een instance van die class moeten aanroepen.

https://fgheysels.github.io/


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Niet helemaal wakker whoami. In C++ is main() een free functie (i.t.t. Java). Voor de rest blijft natuurlijk overeind dat er precies 1 .cpp file is die de main( ) bevat. Voor een default VC++ project is dat inderdaad de .cpp die genoemd is naar het project. In het geval van project test is dat dus test.cpp. Om 102.cpp te debuggen zul je dus functies uit 102.cpp moeten aanroepen (zoals een constructor van een class)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:54
Dat zeg ik toch ? Als hij iets uit 102.cpp wil debuggen, zal hij er moeten voor zorgen dat hij die functies aanspreekt.

(Bij 'die wordt het eerste opgestart', bedoelde ik de class die de main bevat).

https://fgheysels.github.io/


  • FidoDido
  • Registratie: Augustus 2005
  • Laatst online: 19:38
Dit is het ccp. bestand dat die standaard aanmaakt als je project start

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// This is the main project file for VC++ application project 
// generated using an Application Wizard.

#include "stdafx.h"

#using <mscorlib.dll>

using namespace System;

int _tmain()
{
    // TODO: Please replace the sample code below with your own.
    Console::WriteLine(S"Hello World");
    return 0;
}


Vervolgens add ik een new item toe aan mij project dat is dit bestand:

code:
1
2
3
4
5
6
7
8
9
#include "stdafx.h"
#include <iostream>
using namespace std;

main()
{
    cout << "Dit is een c++ programma,\n";
    return 0;
}


Elke keer dat ik debug, debug die alleeen maar het bestand, wat eht project zelf heeft aangemaakt.
Maar krijg niet voor elkaar dat die ook het bestand debugt wat ik zelf heb toegevoegd.
En dat is wel het bestand waar het mij omgaat uiteraard.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Tja. Ten eerste is het int main( ). Ten tweede heb je precies 1 entry point nodig. In C++/CLI is _tmain( ) ook een entrypoint. Gooi die eruit, en verhuis jouw main( ) naar test.cpp

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • FidoDido
  • Registratie: Augustus 2005
  • Laatst online: 19:38
hoofdstuk1 fatal error LNK1201: error writing to program database 'F:\School\Windesheim\C++\hoofdstuk1\Debug\hoofdstuk1.pdb'; check for insufficient disk space, invalid path, or insufficient privilege

Krijg deze foutmelding als ik ga debuggen, kom met error build errors en zie ik deze foutmelding staan.
Disk space is probleem niet, het pad is ook goed, en de rechten zijn ook gewoon goed.

En dit is het script:
code:
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
main()
{
cout << "Hello, World\n";
return 0;
}


Snap er geen drol van, doe niks fout lijkt me 8)7

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

whoami schreef op woensdag 07 september 2005 @ 09:07:
(Bij 'die wordt het eerste opgestart', bedoelde ik de class die de main bevat).
Wat MSalters dus zegt is dat main in C++ niet in een class staat maar een losse functie is ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

feedo schreef op woensdag 07 september 2005 @ 10:10:
hoofdstuk1 fatal error LNK1201: error writing to program database 'F:\School\Windesheim\C++\hoofdstuk1\Debug\hoofdstuk1.pdb'; check for insufficient disk space, invalid path, or insufficient privilege
Heb je nog een MSVC++ open staan? Sluit ze allemaal af en start 'm opnieuw
En dit is het script:
(zucht)
PROGRAMMA!, geen script
Snap er geen drol van, doe niks fout lijkt me 8)7
Heb je überhaupt geluisterd naar wat hier gezegd is? Ten eerste moet main een int returnen, jouw specificatie is dus fout. Ten tweede kun je maar 1 (één) main functie hebben in je gehele project, aangezien een applicatie ook maar één entry point heeft. Als jij een functie in test hebt gedefinieerd dan moet je die vanuit main aanroepen. Als je een andere main wilt maken moet je dat doen en de andere weghalen.

Maar goed, dit is allemaal nogal basiskennis, een cursus of tutorial zal je goed doen, of koop een C++ boek.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1