当前位置: 首页> 健康> 养生 > 提供网站建设运营公司资质_青柠视频免费版中文字幕_正规seo排名外包_推广点击器

提供网站建设运营公司资质_青柠视频免费版中文字幕_正规seo排名外包_推广点击器

时间:2025/8/11 15:55:29来源:https://blog.csdn.net/hongyeying/article/details/146547787 浏览次数:1次
提供网站建设运营公司资质_青柠视频免费版中文字幕_正规seo排名外包_推广点击器

Android15 Camera3中打印函数调用栈

1.使用CallStack跟踪函数调用

修改涉及三个内容:

  • Android.bp中添加对CallStack的引用。CallStack被打包在libutilscallstack.so。
  • 代码中包含CallStack的头文件。
  • 代码中调用CallStack接口,打印函数调用栈。

例子:查看Camera3Device::waitUntilStateThenRelock调用链路

1.Camera3Device.cpp中包含utils/CallStack.h头文件

diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index bb54f25..9f30160 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -74,6 +74,7 @@#include <algorithm>#include <optional>#include <tuple>
+#include <utils/CallStack.h>using namespace android::camera3;using namespace android::camera3::SessionConfigurationUtils;

2.Camera3Device::waitUntilStateThenRelock中打印调用栈

@@ -1654,32 +1661,59 @@ status_t Camera3Device::waitUntilStateThenRelock(bool active, nsecs_t timeout,mRequestThread->signalPipelineDrain(streamIds);signalPipelineDrain = true;}mRequestBufferSM.onWaitUntilIdle();}+    {
+        android::String8 backtrace;
+        android::CallStack cs;
+        cs.update();
+        backtrace = cs.toString();
+        ALOGD("chenhy-trace:%s", backtrace.c_str());
+    }
+bool stateSeen = false;nsecs_t startTime = systemTime();do {if (mStatus == STATUS_ERROR) {// Device in error state. Return right away.

3.Camera3Device.cpp编译时链接libutilscallstack.so

diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
index a74b6d6..b58c535 100644
--- a/services/camera/libcameraservice/Android.bp
+++ b/services/camera/libcameraservice/Android.bp
@@ -233,6 +233,10 @@ cc_library {"-Werror","-Wno-ignored-qualifiers",],
+
+    shared_libs: [
+        "libutilscallstack",
+    ],}cc_library_static {

4.效果

Android15 Frameworks/Native中打印函数调用栈

关键字:提供网站建设运营公司资质_青柠视频免费版中文字幕_正规seo排名外包_推广点击器

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: