@@ -2257,6 +2257,8 @@ struct MPIR_PROCDESC {
2257
2257
* spawn we need to check if we are being run under a TotalView-like
2258
2258
* debugger; if so then inform applications via an MCA parameter.
2259
2259
*/
2260
+ static bool mpir_warning_printed = false;
2261
+
2260
2262
static void orte_debugger_init_before_spawn (orte_job_t * jdata )
2261
2263
{
2262
2264
char * env_name ;
@@ -2305,6 +2307,15 @@ static void orte_debugger_init_before_spawn(orte_job_t *jdata)
2305
2307
launchit :
2306
2308
opal_output_verbose (1 , orte_debug_output , "Info: Spawned by a debugger" );
2307
2309
2310
+ /* if we haven't previously warned about it */
2311
+ if (!mpir_warning_printed ) {
2312
+ mpir_warning_printed = true;
2313
+ /* check for silencing envar */
2314
+ if (NULL == getenv ("OMPI_MPIR_DO_NOT_WARN" )) {
2315
+ orte_show_help ("help-orted.txt" , "mpir-debugger-detected" , true);
2316
+ }
2317
+ }
2318
+
2308
2319
/* tell the procs they are being debugged */
2309
2320
(void ) mca_base_var_env_name ("orte_in_parallel_debugger" , & env_name );
2310
2321
@@ -2518,6 +2529,14 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
2518
2529
if (MPIR_being_debugged || NULL != orte_debugger_test_daemon ||
2519
2530
NULL != getenv ("ORTE_TEST_DEBUGGER_ATTACH" )) {
2520
2531
OBJ_RELEASE (caddy );
2532
+ /* if we haven't previously warned about it */
2533
+ if (!mpir_warning_printed ) {
2534
+ mpir_warning_printed = true;
2535
+ /* check for silencing envar */
2536
+ if (NULL == getenv ("OMPI_MPIR_DO_NOT_WARN" )) {
2537
+ orte_show_help ("help-orted.txt" , "mpir-debugger-detected" , true);
2538
+ }
2539
+ }
2521
2540
if (!mpir_breakpoint_fired ) {
2522
2541
/* record that we have triggered the debugger */
2523
2542
mpir_breakpoint_fired = true;
@@ -2613,6 +2632,15 @@ void orte_debugger_init_after_spawn(int fd, short event, void *cbdata)
2613
2632
*/
2614
2633
if (MPIR_being_debugged || NULL != orte_debugger_test_daemon ||
2615
2634
NULL != getenv ("ORTE_TEST_DEBUGGER_ATTACH" )) {
2635
+ /* if we haven't previously warned about it */
2636
+ if (!mpir_warning_printed ) {
2637
+ mpir_warning_printed = true;
2638
+ /* check for silencing envar */
2639
+ if (NULL == getenv ("OMPI_MPIR_DO_NOT_WARN" )) {
2640
+ orte_show_help ("help-orted.txt" , "mpir-debugger-detected" , true);
2641
+ }
2642
+ }
2643
+
2616
2644
/* if we are not launching debugger daemons, then trigger
2617
2645
* the debugger - otherwise, we need to wait for the debugger
2618
2646
* daemons to be started
@@ -2921,6 +2949,15 @@ static void attach_debugger(int fd, short event, void *arg)
2921
2949
"%s Attaching debugger %s" , ORTE_NAME_PRINT (ORTE_PROC_MY_NAME ),
2922
2950
(NULL == orte_debugger_test_daemon ) ? MPIR_executable_path : orte_debugger_test_daemon );
2923
2951
2952
+ /* if we haven't previously warned about it */
2953
+ if (!mpir_warning_printed ) {
2954
+ mpir_warning_printed = true;
2955
+ /* check for silencing envar */
2956
+ if (NULL == getenv ("OMPI_MPIR_DO_NOT_WARN" )) {
2957
+ orte_show_help ("help-orted.txt" , "mpir-debugger-detected" , true);
2958
+ }
2959
+ }
2960
+
2924
2961
/* a debugger has attached! All the MPIR_Proctable
2925
2962
* data is already available, so we only need to
2926
2963
* check to see if we should spawn any daemons
@@ -3036,6 +3073,15 @@ static void run_debugger(char *basename, opal_cmd_line_t *cmd_line,
3036
3073
free (env_name );
3037
3074
}
3038
3075
3076
+ /* if we haven't previously warned about it */
3077
+ if (!mpir_warning_printed ) {
3078
+ mpir_warning_printed = true;
3079
+ /* check for silencing envar */
3080
+ if (NULL == getenv ("OMPI_MPIR_DO_NOT_WARN" )) {
3081
+ orte_show_help ("help-orted.txt" , "mpir-debugger-detected" , true);
3082
+ }
3083
+ }
3084
+
3039
3085
/* Launch the debugger */
3040
3086
execvp (new_argv [0 ], new_argv );
3041
3087
value = opal_argv_join (new_argv , ' ' );
0 commit comments