我正在尝试调试Code :: Blocks中的程序.我尽可能地遵循本指南和这个简短视频,但调试器不会在断点处停止 ...
我看到一个类似的问题仍未解决(我不确定是否应该碰它或打开一个有更多细节的新问题),我确实检查了"生成调试符号[-g]"标志.优化和"剥离所有符号[-s]"也都被禁用.我甚至按照那里的建议尝试了标志-ggdb ,也没有成功.
我正在使用TDM-GCC 4.5.2(我刚刚升级,之前我遇到了与4.5.1相同的问题),调试器是GNU gdb(GDB)7.2(之前与GDB 7.1相同).我在Windows 7 x64上,使用Code :: Blocks SVN 7040(这是最新的每晚构建,据我所知他们推荐的不是经常更新的稳定版本)(我在SVN 6931中遇到了同样的问题).
最后,我还注意到调试器抱怨缺少调试符号,这是调试器窗口中的输出:
Build succeeded
Selecting target:
Debug
Adding source dir: G:\[...]\IPCMB3\
Adding source dir: G:\[...]\IPCMB3\
Adding file: bin\Debug\IPCMB3.exe
Starting debugger:
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Reading symbols from G:\[...]\IPCMB3/bin/Debug/IPCMB3.exe...(no debugging symbols found)...done.
Debugger name and version: GNU gdb (GDB) 7.2
Child process …Run Code Online (Sandbox Code Playgroud) 我在无服务器项目中的Firebase Admin SDK(NodeJS)中使用admin.auth()。getUser(uid),它确实成功返回了结果。但是,即使我的函数返回了结果,我的lambda仍然没有终止,我必须使用CTRL + C结束它。
这是我的函数的完整代码(在TypeScript中):
public getUser(uid: string): any {
console.log('FirebaseManager getUser method start');
const self: FirebaseManager = this;
const promise: any = self.getDeferred();
admin.auth().getUser(uid)
.then(function(userRecord: admin.auth.UserRecord) {
console.log("Successfully fetched user data:", userRecord);
promise.resolve(userRecord);
})
.catch(function(error: FirebaseError) {
console.log("Error fetching user data:", error.errorInfo);
promise.reject('Error getting Firebase user ' + uid);
});
return promise.promise;
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么吗?
请注意,如果我注释掉admin.auth()。getUser(uid)块(并用替换promise.resolve("ok")),我的函数便会正确终止。我的意思是,这不会挂起(但是有点没用了^^):
public getUser(uid: string): any {
console.log('FirebaseManager getUser method start');
const self: FirebaseManager = this;
const promise: any …Run Code Online (Sandbox Code Playgroud)