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