about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt')
-rw-r--r--usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt275
1 files changed, 275 insertions, 0 deletions
diff --git a/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt
new file mode 100644
index 0000000..025c2ba
--- /dev/null
+++ b/usth/ICT2.7/P1L3 Integrated Development Environment Subtitles/8 - Eclipse Demo: Debugging - lang_en_vs5.srt
@@ -0,0 +1,275 @@
+1

+00:00:00,160 --> 00:00:03,090

+Now let's look at how we can do debugging within

+

+2

+00:00:03,090 --> 00:00:06,240

+Eclipse. I created a new file called AddNumbers which I'm

+

+3

+00:00:06,240 --> 00:00:10,770

+showing here. It takes two numbers, parses them into integers,

+

+4

+00:00:10,770 --> 00:00:14,870

+adds them and prints the sum, supposedly, of the two numbers.

+

+5

+00:00:14,870 --> 00:00:17,450

+Now we look at the run configuration for this program,

+

+6

+00:00:17,450 --> 00:00:19,670

+and here you can see that we're passing two arguments,

+

+7

+00:00:19,670 --> 00:00:22,060

+two and five, to the program. So now let's run

+

+8

+00:00:22,060 --> 00:00:25,468

+our program and see what happens. And the result says that

+

+9

+00:00:25,468 --> 00:00:28,150

+2 plus 5 is equal to 10, which is not

+

+10

+00:00:28,150 --> 00:00:31,030

+exactly correct. So we need to debug our program. We

+

+11

+00:00:31,030 --> 00:00:33,310

+need to figure out what's wrong with the program, why

+

+12

+00:00:33,310 --> 00:00:37,140

+the wrong result was, produced. So we're going to add a break

+

+13

+00:00:37,140 --> 00:00:40,260

+point here by double-clicking here on the side of the

+

+14

+00:00:40,260 --> 00:00:42,940

+code. And the break point is basically a place where I'm

+

+15

+00:00:42,940 --> 00:00:46,240

+telling my debugger to stop during the execution because I

+

+16

+00:00:46,240 --> 00:00:50,750

+want to inspect the state of the program. So to start

+

+17

+00:00:50,750 --> 00:00:54,690

+debugging, we select Debug as Java Application from the Context

+

+18

+00:00:54,690 --> 00:00:58,170

+menu, similar to what we were doing for running the program.

+

+19

+00:00:58,170 --> 00:01:00,190

+And as you can see, this asks us whether we want

+

+20

+00:01:00,190 --> 00:01:03,720

+to pass to the debug perspective, which is a, a perspective

+

+21

+00:01:03,720 --> 00:01:07,110

+specifically designed for debugging. We say yes. And as you

+

+22

+00:01:07,110 --> 00:01:10,750

+see here, it shows us, it's like a different, set of

+

+23

+00:01:10,750 --> 00:01:13,310

+views, so we can see the code down here with an

+

+24

+00:01:13,310 --> 00:01:16,100

+indication of where the execution is. And of course the execution

+

+25

+00:01:16,100 --> 00:01:18,610

+stopped at the break point, which is exactly where

+

+26

+00:01:18,610 --> 00:01:21,850

+we told the debugger to stop. So let's look at

+

+27

+00:01:21,850 --> 00:01:24,400

+some of the other views in this perspective. The view

+

+28

+00:01:24,400 --> 00:01:27,370

+here on the right-hand side, for example, shows the variables

+

+29

+00:01:27,370 --> 00:01:30,720

+in scope and the break points that are currently active

+

+30

+00:01:30,720 --> 00:01:33,240

+for the debugging session. This is where the editor is

+

+31

+00:01:33,240 --> 00:01:36,710

+at. The outline of the program and the console at

+

+32

+00:01:36,710 --> 00:01:41,520

+the bottom. So now let's execute one line by clicking

+

+33

+00:01:41,520 --> 00:01:45,400

+on the Step Over button here at the top, and this will

+

+34

+00:01:45,400 --> 00:01:49,150

+execute the line that is currently highlighted and therefore it will move to

+

+35

+00:01:49,150 --> 00:01:51,500

+the next line. And as you can see, one nice feature is that

+

+36

+00:01:51,500 --> 00:01:54,760

+if I move the mouse over a variable, I can see the value

+

+37

+00:01:54,760 --> 00:01:57,710

+of the variable. And the same thing I can do if I look

+

+38

+00:01:57,710 --> 00:02:00,690

+at the variables windows here on the right. If I click it, it

+

+39

+00:02:00,690 --> 00:02:03,960

+will tell me what is the value of the variable, and in case

+

+40

+00:02:03,960 --> 00:02:07,410

+of more complex variables you can even expand it and get more details.

+

+41

+00:02:07,410 --> 00:02:10,870

+So now let's step over another line by clicking again this button,

+

+42

+00:02:10,870 --> 00:02:13,180

+and as you can see now we get to the line that

+

+43

+00:02:13,180 --> 00:02:16,410

+is actually performing the sum, supposedly, so now let's do the same

+

+44

+00:02:16,410 --> 00:02:19,100

+thing that we did before, and let's mouse over b, and we can

+

+45

+00:02:19,100 --> 00:02:22,150

+see that the value of b is five, as expected. So now

+

+46

+00:02:22,150 --> 00:02:27,080

+let's step over this line as well, and execute the actual sum. And

+

+47

+00:02:27,080 --> 00:02:29,730

+doing the mouseover thing, we can see that the value of sum

+

+48

+00:02:29,730 --> 00:02:33,000

+is ten, which is not right, of course. In fact, if we check

+

+49

+00:02:33,000 --> 00:02:35,590

+a gain we can see that value of A is two. The

+

+50

+00:02:35,590 --> 00:02:39,130

+value of B is five and therefore it's clear that there's something

+

+51

+00:02:39,130 --> 00:02:41,780

+wrong going on here, and at this point we can notice that

+

+52

+00:02:41,780 --> 00:02:44,030

+here we are doing multiplication instead

+

+53

+00:02:44,030 --> 00:02:46,010

+of addition. And therefore that's what the

+

+54

+00:02:46,010 --> 00:02:49,260

+error is. And this is clearly a very simple case. Right? A

+

+55

+00:02:49,260 --> 00:02:51,440

+case in which probably you just needed to look at the code and

+

+56

+00:02:51,440 --> 00:02:54,150

+you didn't need the debugger. But you probably got the idea right?

+

+57

+00:02:54,150 --> 00:02:58,055

+So this can be extremely useful when you're debugging, when you're studying more

+

+58

+00:02:58,055 --> 00:03:01,533

+complex programs. If you want to stop the debugger because you're

+

+59

+00:03:01,533 --> 00:03:04,557

+done with your debugging session as in this case, you can

+

+60

+00:03:04,557 --> 00:03:07,518

+either click here on the Terminate button or you can also

+

+61

+00:03:07,518 --> 00:03:11,109

+just simply tell the debugger to continue the execution, to resume

+

+62

+00:03:11,109 --> 00:03:15,140

+the execution until the program terminates naturally. So, in this case,

+

+63

+00:03:15,140 --> 00:03:17,520

+we're going to click here just to show what happens. And what

+

+64

+00:03:17,520 --> 00:03:20,230

+happens is that, you know, the execution will just continue until

+

+65

+00:03:20,230 --> 00:03:23,690

+the program exits. So now let's say that we want to fix

+

+66

+00:03:23,690 --> 00:03:27,740

+this problem that we just discovered. So we replace the multiplication

+

+67

+00:03:27,740 --> 00:03:30,600

+with an addition, we save the program, and we execute the

+

+68

+00:03:30,600 --> 00:03:33,860

+program again by clicking on this button. And at this point,

+

+69

+00:03:33,860 --> 00:03:37,320

+unsurprisingly, we get the right result as shown in the console.