Двойная печать в скрипте DTrace для зонда, определяемого пользовательским приложением

#c #macos #dtrace

#c #macos #dtrace

Вопрос:

Я пытаюсь напечатать двойной аргумент в скрипте DTrace из пользовательского зонда. Зонд определяется как таковой:

 /**
 * Fired when the garbage collection threshold is changed with a certain factor
 * @param factor the factor with which the GC threshold is changed
 */
probe gc__threshold(double factor);
 

В моем скрипте я пытаюсь напечатать аргумент следующим образом:

 pony$target:::gc-threshold
{
    print(args[0]);
}
 

Однако это выдает следующую ошибку:

 dtrace: failed to compile script ./test.d: line 7: translator for args[0] from double to double is not defined
 

Я запускаю скрипт на Mac. Из-за отсутствия документации и отсутствия подобной проблемы в Интернете у меня возникли проблемы с поиском подсказок о том, как решить эту проблему.

Я также пробовал использовать значения с плавающей запятой и длинные удвоения, но возникает та же ошибка.