Обратите внимание, что это для Mac OS X, хотя я полагаю, что моя проблема существует в любой ОС с поддержкой dtrace.
У меня есть приложение, которое использует много плагинов. Я добавляю к нему пользовательские зонды, как в основном приложении, так и в самих плагинах. Проблема заключается в том, что если я использую то же имя поставщика в плагинах, что и основное приложение, эти зонды не отображаются, когда я пытаюсь создать список доступных зондов. Похоже, что тот, кто загружает первый код, выигрывает.
мой .d файл в моем главном приложении:
provider MyApp {
probe doSomething();
};
и в моем плагине:
provider MyApp {
probe plugin_doSomethingPluginish();
};
Изменение имени провайдера на что-то другое, например, MyAppPlugin, работает, но затем список провайдеров станет безумным (MyAppPlugin1, MyAppPlugin2 и т. Д.). Я хотел бы думать, что есть способ добавить новые определенные плагином пробники под тем же именем провайдера, что и основное приложение, но я либо не вижу его, либо его нет.
Так есть ли способ сделать это? А если нет, то нормально ли иметь разных провайдеров для каждого плагина, хотя имя модуля уже уникально? Похоже, это то, что имя модуля для ...