惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
T
Tor Project blog
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
MongoDB | Blog
MongoDB | Blog
Simon Willison's Weblog
Simon Willison's Weblog
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
小众软件
小众软件
G
GRAHAM CLULEY
P
Privacy International News Feed
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
S
Schneier on Security
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
E
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
The Register - Security
The Register - Security
S
Securelist
Martin Fowler
Martin Fowler
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog

博客园 - PerKins.Zhu

基于 UniMRCP 的 ASR 插件开发详解:架构、API 与代码 unimrcp_plugin_demo_recog_engine.c 源码解析 unimrcp_plugin_demo_synth_engine.c 源码解析 UniMRCP 插件开发指南 freeswitch【解决方案】— 使用ffmpeg时,生成时总是提示找不到外部引用 freeswitch【解决方案】— 使用mod_odbc_cdr记录cdr时获取不到b leg 的call-id问题 freeswitch模块开发—mod_python3编译安装 freeswitch模块开发—mod_unimrcp 编译及加载(VS2019) freeswitch模块开发【问题排查】—已存在XXX.lob 中定义,重复引入依赖 centos 安装 sngrep freeswitch模块开发【问题排查】—mod_soundtouch 模块变声无效,电流音 vs2019 编译加载 mod_soundtouch 进行变声测试 freeswitch 新模块开发三(VS2019) VS2019 开发freeswitch 问题排查汇总 TLS可信任自签名CA证书配置 debian安装kamailio voip服务监控及运维 debian 编译安装rtpproxy debian 编译安装 opensips
freeswitch模块开发【问题排查】—load模块时提示 127错误
PerKins.Zhu · 2025-02-19 · via 博客园 - PerKins.Zhu

在控制台load模块时提示 127错误:

2025-02-14 13:41:53.340827 96.36% [CRIT] switch_loadable_module.c:1754 Error Loading module D:/myproject/visualCode/freeswitch/x64/Debug/mod/mod_soundtouch.dll **dll sym error [127l] **

1、启动debug模式,在 switch_loadable_module.c文件中,找到 SWITCH_DECLARE(switch_status_t) switch_loadable_module_init(switch_bool_t autoload) 函数,在其中打断点,然后执行load命令,逐步跟进查找错误原因。可以通过监视变量获取执行中变量值。

2、 static switch_status_t switch_loadable_module_load_file(char *path, char *filename, switch_bool_t global, switch_loadable_module_t **new_module) 函数也可以作为监控点。

3、module加载逻辑见下图:

对于.CPP 代码加载时发生127错误,如果代码是从.c文件中复制到.cpp文件中,则注意需要在声明宏的时候加入如下导出函数命令:

SWITCH_BEGIN_EXTERN_C
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_soundtouch_shutdown);
SWITCH_MODULE_RUNTIME_FUNCTION(mod_soundtouch_runtime);
SWITCH_MODULE_LOAD_FUNCTION(mod_soundtouch_load);
SWITCH_MODULE_DEFINITION(mod_soundtouch, mod_soundtouch_load, mod_soundtouch_shutdown, NULL);
SWITCH_END_EXTERN_C

否则无法导出   SWITCH_MOD_DECLARE_DATA switch_loadable_module_function_table_t name##_module_interface  函数,加载模块时便找不到   mod_xxxx_module_interface 函数,导致提示127错误。

可用 Dependencies 软件打开 mod_xxxx.dll查看生成的dll文件是否有导出该函数: