Thread overview
Where to learn to use debugger
Mar 16, 2008
Ty Tower
Mar 16, 2008
Ty Tower
Mar 17, 2009
Mason Green
Mar 26, 2008
Oskar Linde
March 16, 2008
I wrote a program and I want to use the debugger on it . I have the debugger console output below and the program file attached .

The digitalmars site is pretty vague . Is there a tute on this anywhere?

Program exited normally.
(gdb) awatch balance
No symbol "balance" in current context.
(gdb) run
Starting program: /home/tytower/Desktop/tango/mystuff/calcLoanRepayments
[Thread debugging using libthread_db enabled]
[New Thread -1210377552 (LWP 5734)]
Month 1   Repaid=2500    Interest=600    Balance =98108
Month 2   Repaid=2452    Interest=588    Balance =96252
Month 3   Repaid=2406    Interest=577    Balance =94431
Month 4   Repaid=2360    Interest=566    Balance =92645
Month 5   Repaid=2316    Interest=555    Balance =90892
Month 6   Repaid=2272    Interest=545    Balance =89174
Month 7   Repaid=2229    Interest=535    Balance =87487
Month 8   Repaid=2187    Interest=524    Balance =85833
Month 9   Repaid=2145    Interest=515    Balance =84210
Month 10   Repaid=2105    Interest=505    Balance =82618
Month 11   Repaid=2065    Interest=495    Balance =81057
Month 12   Repaid=2026    Interest=486    Balance =79525
Month 13   Repaid=1988    Interest=477    Balance =78022
Month 14   Repaid=1950    Interest=468    Balance =76547
Month 15   Repaid=1913    Interest=459    Balance =75101
Month 16   Repaid=1877    Interest=450    Balance =73682
Month 17   Repaid=1842    Interest=442    Balance =72290
Month 18   Repaid=1807    Interest=433    Balance =70925
Month 19   Repaid=1773    Interest=425    Balance =69585
Month 20   Repaid=1739    Interest=417    Balance =68271
Month 21   Repaid=1706    Interest=409    Balance =66982
Month 22   Repaid=1674    Interest=401    Balance =65717
Month 23   Repaid=1642    Interest=394    Balance =64477
Month 24   Repaid=1611    Interest=386    Balance =63260
Month 25   Repaid=1581    Interest=379    Balance =62066
Month 26   Repaid=1551    Interest=372    Balance =60895
Month 27   Repaid=1522    Interest=365    Balance =59746
Month 28   Repaid=1493    Interest=358    Balance =58619
Month 29   Repaid=1465    Interest=351    Balance =57513
Month 30   Repaid=1437    Interest=345    Balance =56428
Month 31   Repaid=1410    Interest=338    Balance =55364
Month 32   Repaid=1384    Interest=332    Balance =54320
Month 33   Repaid=1358    Interest=325    Balance =53296
Month 34   Repaid=1332    Interest=319    Balance =52292
Month 35   Repaid=1307    Interest=313    Balance =51306
Month 36   Repaid=1282    Interest=307    Balance =50339
Month 37   Repaid=1258    Interest=302    Balance =49391
Month 38   Repaid=1234    Interest=296    Balance =48461
Month 39   Repaid=1211    Interest=290    Balance =47548
Month 40   Repaid=1188    Interest=285    Balance =46652
Month 41   Repaid=1166    Interest=279    Balance =45774
Month 42   Repaid=1144    Interest=274    Balance =44912
Month 43   Repaid=1122    Interest=269    Balance =44067
Month 44   Repaid=1101    Interest=264    Balance =43238
Month 45   Repaid=1080    Interest=259    Balance =42424
Month 46   Repaid=1060    Interest=254    Balance =41626
Month 47   Repaid=1040    Interest=249    Balance =40844
Month 48   Repaid=1021    Interest=245    Balance =40076

Totals
  Repaid=       79355.63
  Interest=     19047.71
  Monthly Fee=    384.00
  Balance=      40076.08

  Total to Pay=119431.71

 Actual Average Rate= 6.79


Program exited normally.
(gdb) break 45
No line 45 in file "../sysdeps/i386/dl-procinfo.c".


PS this attachment block on the web mail does not seem to work or it is perhaps size limited so I will copy it in here

module calcLoanRepayments;
import tango.io.Stdout;
import LoanAccount;


	public  void main(char[][] args)
	{  //initial Loan Amount
   		double initialLoan = 100000;
		//create the loan account
		LoanAccount  la = new LoanAccount(initialLoan);
		double totalRepayments=0;
		double totalInterest=0;
	   //set the monthly fee
	   la.setFee(-8.0);//minus because its a loan and adds to the Balance
	   					// Due ,not deducted from balance held by Bank
	    					//
	   //set the interest rate
	   la.Rate(7.2);
		//set the length of the loan in months
		int months = 48 ;

			//for no of months,repay 2.5% of the O/S balance each month after
		//accruing monthly interest (and fees if appropriate
		int i;

for (i=1;i<months+1;i++)
		{  double dCents = cast (int)(la.Balance()/40*100);
   		double repaymentAmount =dCents/100;
			totalRepayments += repaymentAmount;

   		la.Monthly();

   		totalInterest += la.interestAmount();

			la.Withdrawal(repaymentAmount);

			Stdout.format("Month {} " , i);
			Stdout.format("  Repaid={}  ",cast(int) repaymentAmount);
	   	Stdout.format("  Interest={}  ",cast(int) la.interestAmount());
	    Stdout.formatln("  Balance ={}  ",cast(int)	la.Balance());
		}
	double monthlyCharges = months*la.getFee();
	Stdout.newline;
  Stdout.formatln("Totals" );
	Stdout.formatln("  Repaid=       {}  ",totalRepayments);
  Stdout.formatln("  Interest=     {}  ",totalInterest);
	Stdout.formatln("  Monthly Fee=    {}  " ,(+cast(int) -1*monthlyCharges)) ;
  Stdout.formatln("  Balance=      {}  ",la.Balance).newline;

  Stdout.formatln("  Total to Pay={}  ",(totalRepayments+la.Balance())).newline;


   double averageLoan = ((initialLoan-la.Balance())/2)+la.Balance();
   double years=i/12;
   double averageYearlyInterest=totalInterest/years;
   double actualRate= ((averageYearlyInterest+(1/2*monthlyCharges))/averageLoan)*100;
   int nCents = cast(int) (actualRate * 100);
   actualRate = cast(double) nCents;
   Stdout.formatln(" Actual Average Rate= {}  ", actualRate/100).newline;

	}


March 16, 2008
Oh that's  Linux btw
and compiled with -g switch
March 26, 2008
Ty Tower wrote:
> I wrote a program and I want to use the debugger on it . I have the debugger console output below and the program file attached .
> 
> The digitalmars site is pretty vague . Is there a tute on this anywhere?

http://www.google.com/search?q=gdb+manual&btnI=I'm+feeling+lucky

-- 
Oskar
March 17, 2009
Ty Tower wrote:
> Oh that's  Linux btw
> and compiled with -g switch

On Linux, take a look at zerobugs