Как собрать JDK, чтобы иметь возможность расширять макросы в gdb? - PullRequest
0 голосов
/ 17 июня 2019

Я собираю JDK12 fastdebug и столкнулся с проблемой перечисления исходного кода функции с помощью gdb.Вывод, полученный, например, list main, показан с макросами, оставленными нерасширенными.Вот как это выглядит

(gdb) list main
//...
77      /*                                                                                                                                                                                                         
78       * Entry point.                                                                                                                                                                                            
79       */                                                                                                                                                                                                        
80      #ifdef JAVAW                                                                                                                                                                                               
81                                                                                                                                                                                                                 
82      char **__initenv;                                                                                                                                                                                          
83                                                                                                                                                                                                                 
84      int WINAPI                                                                                                                                                                                                 
85      WinMain(HINSTANCE inst, HINSTANCE previnst, LPSTR cmdline, int cmdshow)                                                                                                                                    
86      {                                                                                                                                                                                                          
87          int margc;                                                                                                                                                                                             
88          char** margv;                                                                                                                                                                                          
89          int jargc;                                                                                                                                                                                             
90          char** jargv;                                                                                                                                                                                          
91          const jboolean const_javaw = JNI_TRUE;                                                                                                                                                                 
92                                                                                                                                                                                                                 
93          __initenv = _environ;                                                                                                                                                                                  
94                                                                                                                                                                                                                 
95      #else /* JAVAW */                                                                                                                                                                                          
96      JNIEXPORT int                                                                                                                                                                                              
97      main(int argc, char **argv)                                                                                                                                                                                
98      {                                                                                                                                                                                                          
99          int margc;                                                                                                                                                                                             
100         char** margv;                                                                                                                                                                                          
101         int jargc;                                                                                                                                                                                             
102         char** jargv;                                                                                                                                                                                          
103         const jboolean const_javaw = JNI_FALSE;                                                                                                                                                                
104     #endif /* JAVAW */                                                                                                                                                                                         

Я работаю в Linux и хотел бы избавиться от всех этих макросов, связанных с Windows, в gdb.

Я запустил конфигурацию с bash configure --enable-debug --with-native-debug-symbols=internal и make CONF=fastdebug images.

Как сделать так, чтобы оно расширялось с помощью gdb?Может быть, есть дополнительная опция для настройки, чтобы указать?

...