При отладке кода D, который завершается с ошибкой из-за необработанного исключения, механизм исключений полностью развертывает стек, а затем печатает трассировку стека, оставляя нам несколько менее полезную информацию:
(gdb) bt
No stack.
Трассировка стека дает нам строку, из которой было сгенерировано исключение, но это не особенно полезно, если она не генерирует до нескольких тысяч итераций. Было бы весьма полезно иметь возможность настроить отладчик на разрыв в точка исключения всякий раз, когда его бросают.
На данный момент единственной документацией по этому вопросу являются несколько постов в списках рассылки dlang. Я нашел несколько подходов, которые работают с моей установкой, и включил их в свой собственный ответ, но я надеюсь, что мы сможем получить более полный ответ, содержащий подходы для любой комбинации {dmd, gdc, ldc} x {gdb, lldb}.