40 |
40 |
41 const char * jvmtiErrorText(jvmtiError); |
41 const char * jvmtiErrorText(jvmtiError); |
42 const char * eventText(int); |
42 const char * eventText(int); |
43 const char * jdwpErrorText(jdwpError); |
43 const char * jdwpErrorText(jdwpError); |
44 |
44 |
|
45 /* Use THIS_FILE when it is available. */ |
|
46 #ifndef THIS_FILE |
|
47 #define THIS_FILE __FILE__ |
|
48 #endif |
|
49 |
45 #define EXIT_ERROR(error,msg) \ |
50 #define EXIT_ERROR(error,msg) \ |
46 { \ |
51 { \ |
47 print_message(stderr, "JDWP exit error ", "\n", \ |
52 print_message(stderr, "JDWP exit error ", "\n", \ |
48 "%s(%d): %s [%s:%d]", \ |
53 "%s(%d): %s [%s:%d]", \ |
49 jvmtiErrorText((jvmtiError)error), error, (msg==NULL?"":msg), \ |
54 jvmtiErrorText((jvmtiError)error), error, (msg==NULL?"":msg), \ |
50 __FILE__, __LINE__); \ |
55 THIS_FILE, __LINE__); \ |
51 debugInit_exit((jvmtiError)error, msg); \ |
56 debugInit_exit((jvmtiError)error, msg); \ |
52 } |
57 } |
53 |
58 |
54 #define JDI_ASSERT(expression) \ |
59 #define JDI_ASSERT(expression) \ |
55 do { \ |
60 do { \ |
56 if (gdata && gdata->assertOn && !(expression)) { \ |
61 if (gdata && gdata->assertOn && !(expression)) { \ |
57 jdiAssertionFailed(__FILE__, __LINE__, #expression); \ |
62 jdiAssertionFailed(THIS_FILE, __LINE__, #expression); \ |
58 } \ |
63 } \ |
59 } while (0) |
64 } while (0) |
60 |
65 |
61 #define JDI_ASSERT_MSG(expression, msg) \ |
66 #define JDI_ASSERT_MSG(expression, msg) \ |
62 do { \ |
67 do { \ |
63 if (gdata && gdata->assertOn && !(expression)) { \ |
68 if (gdata && gdata->assertOn && !(expression)) { \ |
64 jdiAssertionFailed(__FILE__, __LINE__, msg); \ |
69 jdiAssertionFailed(THIS_FILE, __LINE__, msg); \ |
65 } \ |
70 } \ |
66 } while (0) |
71 } while (0) |
67 |
72 |
68 #define JDI_ASSERT_FAILED(msg) \ |
73 #define JDI_ASSERT_FAILED(msg) \ |
69 jdiAssertionFailed(__FILE__, __LINE__, msg) |
74 jdiAssertionFailed(THIS_FILE, __LINE__, msg) |
70 |
75 |
71 void do_pause(void); |
76 void do_pause(void); |
72 |
77 |
73 #endif |
78 #endif |