Лучший способ воспроизвести все вызовы к общему объекту?
Я поддерживаю общий объект, написанный на c/ C++. Я хотел бы иметь возможность регистрировать все вызовы методов библиотеки для воспроизведения той же последовательности вызовов методов для отладки и тестирования.
Я могу использовать ltrace для записи всех обращений в библиотеку, но ищу некоторые инструменты или библиотеку, чтобы помочь воспроизвести трассировку. Мне просто нужно проанализировать трассировку и вызвать одни и те же функции с одними и теми же входными данными и выполнить специальную обработку указателей. Вот пример информации трассировки после некоторой фильтрации:
27105 sv_sxp_bfm_CreateSxpMemoryChannelBfm@libsxpbfmall.so(0x1397668, 1, 1, 15) = 0x1a53080
27105 sv_sxp_bfm_ConnectDPICallbacks@libsxpbfmall.so(0x1a53080, 0, 0x1a53080, 1) = 0x2aaaafe4918e
27105 sv_sxp_bfm_GetPhy@libsxpbfmall.so(0x1a53080, 0, 0x1a53080, 1) = 0x1a571a0
27105 sv_sxp_bfm_LoadRegisters@libsxpbfmall.so(0x1a53080, 0, 0x13bb3b0, 0x1a53080) = 6
27105 sv_sxp_bfm_ReadCfg@libsxpbfmall.so(0x1a53080, 0x13913d0, 0x1a53080, 0x13913d0) = 5
27105 sv_sxp_phy_SetTime@libsxpbfmall.so(0x1a571a0, 2500, 0x1a571a0, 2500) = 2500
27105 sv_sxp_phy_SetCLK@libsxpbfmall.so(0x1a571a0, 1, 0x1a571a0, 1) = 1
27105 sv_sxp_phy_SetRst@libsxpbfmall.so(0x1a571a0, 0, 0x1a571a0, 0) = 0
27105 sv_sxp_phy_SetCA@libsxpbfmall.so(0x1a571a0, 0, 0x1a571a0, 0) = 0
27105 sv_sxp_phy_SetSELIN@libsxpbfmall.so(0x1a571a0, 1, 0x1a571a0, 1) = 1