Installing .NET Diagnostic Tools on Tizen Devices
Swift Kim
Engineer
Tizen 5.5 comes with support for a new sdb shell CLI command called dotnet. The command is for use by application and platform developers for advanced testing and debugging scenarios.
Note: You cannot use the dotnet
command when developing for TV devices (missing sdb shell support).
Tip: To see which version of Tizen your device runs on, enter sdb capability
and find the platform_version
value.
Note: If you have ever installed the .NET SDK on Windows or macOS/Linux, you may have some knowledge about the dotnet
command provided by the SDK. However, dotnet
on Tizen is not a variant of the .NET SDK CLI and has a smaller number of supported features.
The following options are currently available with the dotnet
command on Tizen 5.5.
sh-3.2$ dotnet -h
Execute a .NET application or command.
Usage: dotnet [options] [path-to-executable] [arguments]
Usage: dotnet [command] [arguments]
Options:
-h, --help show this help message
--clr-path <path> path to libcoreclr.so and runtime assemblies
--tool-path <path> path to the tool installation directory
--additionalprobingpath <path> path containing assemblies to probe for
--globalizationinvariant run in globalization invariant mode
Commands:
counters monitor or collect performance counters
dump capture or analyze a coredump
gcdump capture a heapdump
trace collect or convert a diagnostic event trace
Running a console application
To execute a .NET application from the command line, use dotnet
or dotnet exec
with an assembly (.dll
) name.
Note: .runtimeconfig.json
and .deps.json
files are not required. dotnet
automatically resolves dependencies from the executing directory.
$ sdb push MyAssembly.dll /home/owner/share
$ sdb shell
sh-3.2$ cd /home/owner/share
sh-3.2$ dotnet MyAssembly.dll
Installing and invoking a global tool
A tool is a special kind of console application which can be installed as a development add-on. Most tools use the dotnet-* prefix as a naming convention.
Microsoft has developed a set of tools which can be used for runtime diagnostics (for example, performance evaluation and problem analysis). The tools are maintained and published through the dotnet/diagnostics repo in GitHub. The currently available tools include:
To install the above tools on Tizen, follow these steps:
-
Download the latest release of pre-built diagnostics tools (
.tar.gz
) from the tizendotnet/diagnostics repo. -
Copy the files to your device's
/home/owner/share/.dotnet/tools
directory.$ sdb push [.tar.gz] /home/owner/share $ sdb shell sh-3.2$ cd /home/owner/share sh-3.2$ mkdir -p .dotnet/tools sh-3.2$ tar -zxvf [.tar.gz] -C .dotnet/tools
Note: The dotnet tool install
command is not supported by dotnet
on Tizen.
If you have installed the tools successfully, launch them using the dotnet [name]
command (omit -
in the name).
sh-3.2$ dotnet dump -h
Usage:
dotnet-dump [options] [command]
Options:
--version Display version information
Commands:
collect Capture dumps from a process
analyze <dump_path> Starts an interactive shell with debugging commands to explore a dump
ps Lists the dotnet processes that dumps can be collected
Otherwise, you will see the following error message.
sh-3.2$ dotnet hello
Could not execute because dotnet-hello does not exist.
Go to https://developer.samsung.com/tizen to learn how to install tools.
For more usage and examples, click on the links in the Installing an invoking a global tool section.