What are the ways by which one can debug a Flutter app?
DevTools is what your precisely looking for,
For debugging and profiling apps, DevTools might be the first tool you
reach for. DevTools runs in a browser and supports a variety of
features:• Source-level debugger
• Widget inspector that displays a visual widget tree, and “widget
select” mode where you select a widget in the app and it drills down
to that widget in the tree.• Memory profiler
• Timeline view that supports tracing, and importing and exporting trace
information Logging view
Excerpt taken from the official Flutter docs,
To know more about DevTools head over to the link given below,
https://flutter.dev/docs/testing/debugging
what tool for debugging a linux kernel?
First, see related question Linux kernel live debugging, how it's done and what tools are used?. Try to use KDB or Ftrace.
How is Linux kernel live debugging done and what tools are used?
Another option is to use an ICE or JTAG controller, and GDB. This 'hardware' solution is especially used with embedded systems.
But for instance QEMU offers similar features:
start QEMU with a GDB 'remote' stub which listens on 'localhost:1234' :
qemu -s ...
,then with GDB, you open the kernel file
vmlinux
compiled with debug information (you can take a look a this mailing list thread where they discuss the unoptimization of the kernel).connect GDB and QEMU:
target remote localhost:1234
see your live kernel:
(gdb) where
#0 cpu_v7_do_idle () at arch/arm/mm/proc-v7.S:77
#1 0xc0029728 in arch_idle () atarm/mach-realview/include/mach/system.h:36
#2 default_idle () at arm/kernel/process.c:166
#3 0xc00298a8 in cpu_idle () at arch/arm/kernel/process.c:199
#4 0xc00089c0 in start_kernel () at init/main.c:713
Unfortunately, user-space debugging is not possible so far with GDB (no task list information, no memory management unit reprogramming to see different process contexts, ...), but if you stay in kernel-space, that's quite convenient.
info threads
will give you the list and states of the different CPUs
You can get more details about the procedure in this PDF:
Debugging Linux systems using GDB and QEMU.
How to debug JNI/C library?
The dbx debugger (part of Sun Studio) can attach to a JVM process and let you single step between Java code and native code. The functionality went by the code name "jdbx", although it's all part of dbx. It hasn't been heavily promoted, so it might have bugs. There were issues when the IDE had two debug engines both handling Java, but using the command line dbx avoids those issues.
Of course, there are probably lots of more conventional ways to debug your specific problem without necessarily using source level debugging that can mix the Java and C code.
Related Topics
Is There a Special Restriction on Commands Executed by Cron
Eclipse Cdt Indexer Lost After System Update
How to Limit the Number of Results Returned from Grep
How to Get My Golang Web Server to Run in the Background
Linux-Shell: Renaming Files to Creation Time
Finding Executable Files Using Ls and Grep
Logrotate to Clean Up Date Stamped Files
How to Change(Hide) the Nginx Server Signature
Boost with Qt Creator and Linux
Matlab Mex Socket Wrapper Library
How to Not Transfer Changes Done to Files from a Branch to a Another in Git
How to Force 'Cp' to Overwrite Directory Instead of Creating Another One Inside
Macros for Gcc/G++ to Differentiate Linux and MAC Osx