Я новичок в этой области.
Я установил Fiware-orion через source на свою виртуальную машину (centOS), перейдя по ссылке ниже: https://fiware-orion.readthedocs.io/en/master/admin/build_source/index.html
. В настоящее время я работаю над проблемой Fiware-Orion, но я не знаю, как отлаживать Fiware-Orion. Я искал в Google и Официальной документации Fiware-Orion, но я не нашел относительной документации / материала, относящегося к отладке Fiware-Orion.
Я нашел некоторые команды, связанные с отладкой Orion (но я не знаю, правильны ли эти команды или нет), и я следую этим командам:
-> Сначала устанавливается orion из источника и mongoDB,
- make di
./BUILD_DEBUG/src/app/contextBroker/contextBroker -port 1026
curl localhost:1026/version
- gdb
./BUILD_DEBUG/src/app/contextBroker/contextBroker -tui
- b (lineNo)
run
[root@localhost fiware-orion]# gdb ./BUILD_DEBUG/src/app/contextBroker/contextBroker
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-100.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /root/workingDir/fiware-orion/BUILD_DEBUG/src/app/contextBroker/contextBroker...done.
(gdb) b 101
Breakpoint 1 at 0x6033c9: file /root/workingDir/fiware-orion/src/app/contextBroker/contextBroker.cpp, line 101.
(gdb) run
Starting program: /root/workingDir/fiware-orion/./BUILD_DEBUG/src/app/contextBroker/contextBroker
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Breakpoint 1, fileExists (path=0xbfc380 <pidPath> "/tmp/contextBroker.pid")
at /root/workingDir/fiware-orion/src/app/contextBroker/contextBroker.cpp:371
371 if (access(path, F_OK) == 0)
Missing separate debuginfos, use: debuginfo-install boost-filesystem-1.53.0-27.el7.x86_64 boost-regex-1.53.0-27.el7.x86_64 boost-system-1.53.0-27.el7.x86_64 boost-thread-1.53.0-27.el7.x86_64 cyrus-sasl-lib-2.1.26-23.el7.x86_64 glibc-2.17-292.el7.x86_64 gmp-6.0.0-15.el7.x86_64 gnutls-3.3.29-9.el7_6.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-37.el7_7.2.x86_64 libcom_err-1.42.9-16.el7.x86_64 libcurl-7.29.0-54.el7_7.1.x86_64 libffi-3.0.13-18.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libicu-50.1.2-15.el7.x86_64 libidn-1.28-4.el7.x86_64 libselinux-2.5-14.1.el7.x86_64 libssh2-1.8.0-3.el7.x86_64 libstdc++-4.8.5-39.el7.x86_64 libtasn1-4.10-1.el7.x86_64 libuuid-2.23.2-61.el7_7.1.x86_64 nettle-2.7.1-8.el7.x86_64 nspr-4.21.0-1.el7.x86_64 nss-3.44.0-7.el7_7.x86_64 nss-softokn-freebl-3.44.0-8.el7_7.x86_64 nss-util-3.44.0-4.el7_7.x86_64 openldap-2.4.44-5.el7.x86_64 openssl-libs-1.0.2k-19.el7.x86_64 p11-kit-0.23.5-3.el7.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) list
366 *
367 * fileExists -
368 */
369 static bool fileExists(char* path)
370 {
371 if (access(path, F_OK) == 0)
372 {
373 return true;
374 }
375
(gdb) n
376 return false;
(gdb) n
377 }
(gdb) n
pidFile (justCheck=true) at /root/workingDir/fiware-orion/src/app/contextBroker/contextBroker.cpp:397
397 if (justCheck == true)
(gdb) print justCheck
$1 = true
(gdb) list
876 {
877 LM_X(1, ("Fatal Error (when option '-https' is used, option '-cert' is mandatory)"));
878 }
879 }
880
881 notificationModeParse(notificationMode, ¬ificationQueueSize, ¬ificationThreadNum); // This should be called before contextBrokerInit()
882 LM_T(LmtNotifier, ("notification mode: '%s', queue size: %d, num threads %d", notificationMode, notificationQueueSize, notificationThreadNum));
883 LM_I(("Orion Context Broker is running"));
884
885 if (fg == false)
(gdb) n
882 LM_T(LmtNotifier, ("notification mode: '%s', queue size: %d, num threads %d", notificationMode, notificationQueueSize, notificationThreadNum));
(gdb) step
883 LM_I(("Orion Context Broker is running"));
(gdb)
Пока я использую команду skip (то есть 's'), чтобы войти в функцию, но она перемещается на следующую строку. Я не знаю, где я делаю ошибки.
На самом деле я хотел отладить файлы, присутствующие в папках https://github.com/telefonicaid/fiware-orion/blob/master/src/lib/
, но я не могу туда добраться. Даже я не могу выйти из fiware-orion/src/app/contextBroker/contextBroker.cpp
класса.
Может кто-нибудь предложить мне правильные команды для отладки Fiware-Orion, или скажите, где я делаю ошибки, пожалуйста.
Есть ли какая-либо документация, относящаяся к отладке Fiware-Orion?