Символы отладки, если они доступны, должны где-то храниться, чтобы отладчик мог их найти.Они могут храниться или не храниться в самом исполняемом файле.
Вы можете знать или не знать имя исполняемого файла (argv[0]
не обязательно иметь полный путь к имени программы или действительно иметь любая полезная информация в нем - подробности см. здесь ).
Даже если бы вы могли найти символы отладки, вам пришлось бы декодировать их, чтобы попытаться выяснить, гдеВам позвонили.
И ваш код может быть оптимизирован до такой степени, что информация становится бесполезной.
Это длинный ответ.Краткий ответ: вы, вероятно, должны полагаться на передачу __FILE__
и __LINE__
, как раньше.Это гораздо более портативный и надежный.