Demonstrates crash on memory allocation.

Dependencies:   mbed

Committer:
Kemp
Date:
Tue Mar 29 13:42:16 2011 +0000
Revision:
0:786b75c6aaca
Child:
1:883b8bc1f54a

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kemp 0:786b75c6aaca 1 #include "mbed.h"
Kemp 0:786b75c6aaca 2
Kemp 0:786b75c6aaca 3
Kemp 0:786b75c6aaca 4 Serial pc(USBTX, USBRX);
Kemp 0:786b75c6aaca 5
Kemp 0:786b75c6aaca 6 extern "C" void HardFault_Handler()
Kemp 0:786b75c6aaca 7 {
Kemp 0:786b75c6aaca 8 pc.printf("Hard fault!\r\n");
Kemp 0:786b75c6aaca 9 exit(1);
Kemp 0:786b75c6aaca 10 }
Kemp 0:786b75c6aaca 11
Kemp 0:786b75c6aaca 12
Kemp 0:786b75c6aaca 13 void fail()
Kemp 0:786b75c6aaca 14 {
Kemp 0:786b75c6aaca 15 pc.printf("Caught the failure\r\n");
Kemp 0:786b75c6aaca 16 exit(1);
Kemp 0:786b75c6aaca 17 }
Kemp 0:786b75c6aaca 18
Kemp 0:786b75c6aaca 19
Kemp 0:786b75c6aaca 20 class Test
Kemp 0:786b75c6aaca 21 {
Kemp 0:786b75c6aaca 22 public:
Kemp 0:786b75c6aaca 23 int something;
Kemp 0:786b75c6aaca 24 char woot[28];
Kemp 0:786b75c6aaca 25 };
Kemp 0:786b75c6aaca 26
Kemp 0:786b75c6aaca 27
Kemp 0:786b75c6aaca 28 int main() {
Kemp 0:786b75c6aaca 29 Test *dummy;
Kemp 0:786b75c6aaca 30 int index = 0;
Kemp 0:786b75c6aaca 31
Kemp 0:786b75c6aaca 32 while(1) {
Kemp 0:786b75c6aaca 33 dummy = new Test;
Kemp 0:786b75c6aaca 34 if (dummy == NULL) fail();
Kemp 0:786b75c6aaca 35 pc.printf("%u\r\n", index);
Kemp 0:786b75c6aaca 36 ++index;
Kemp 0:786b75c6aaca 37 }
Kemp 0:786b75c6aaca 38 }