Skip to Content

AppChecker—Linux基金会发布的杀手级程序调试工具

sasaqqdan 的头像
    去问问任何一家Linux开发者他们最讨厌的在Linux上开发的事是什么,十有八九会告诉你,他们得为SUSE开发一次、为Red Hat又开发一次、为Ubuntu再开发一次,为小芭比还要开发一次……Linux基金会发布了一项计划来解决这个问题,该计划名为Linux Application Checker,这个软件将让大家喜爱上为Linux开发软件。AppChecker目前的版本号是Beta 3,你可以去各大开源网站下载测试并贡献代码。

    解开tar.gz压缩包到任意目录,打开sakura控制台,进入解压目录下的bin目录并输入: ./app-checker-start.pl 过一会就会自动打开浏览器并进入网址为 http://localhost:8889/ 的Web页面,这就是LSB数据库导航器。然后点击Application Check链接,你将看到一张表单,在此将你的程序提交上来。最好选择你想测试的LSB版本及LSB配置文件。
    接下来你就等着AppChecker运行吧,它会自动检查ELF (Executable and Linking Format),Perl,Python以及其他代码。到这里为止,你可能看不出他有什么神奇的本领能终结其他程序调试软件。那么你赶快看看下面吧:
    AppChecker 不仅仅在不同的LSB上调试你的程序,调试结束后会返回一个报告,这份报告让AppChecker一下特殊了起来。如果你的程序兼容所有发布版,那么就没什么问题。如果出现了一些兼容问题,这份报告会直接给出如何解决兼容问题的建议而不仅仅是指出问题在哪。这完全解放了开发者,后期调试终于没有那么要命了。 而且这还只是Beta 3.让我们一起期待正式版的来临吧。
    由于官方远程下载要注册,下载速度比较慢。请到 eeload  下载AppChecker for i486。
    文件名:Linux-app-checker-local-2.0-3.i486.tar.gz
    MD5校验码:c194e9411570dc2b0388f062fdb3e651

运行后的界面:


    安装使用方法:

https://ldn.linuxfoundation.org/lsb/lsb-application-testkit-getting-started

Linux Application Checker Getting Started

Having learned what the Linux Application Checker ("AppChecker") can do, it's now time to install and implement AppChecker. This document describes general steps on getting started with AppChecker, from installation to execution to interpreting the results.

Contents

* Installing AppChecker
* Using the Web Interface
* Using the Command Line Interface
* Managing the Test Results Repository
* Administering AppCheck

Installing AppChecker

Download the Linux Application Checker tarball (tar.gz) package for your architecture from the Linux Application Checker download page. AppChecker runs as non-installed Perl script, which allows you to run AppChecker as a non-root user. To install AppChecker:

1. Unpack the package by entering the following on the command line:
      tar xzf Linux-app-checker-local-<version>.<architecture>.tar.gz
2. Start the Linux Application Checker by running the script:
       ./app-checker/bin/app-checker-start.pl [port-number]
AppChecker will run with current user's privileges.

This script will start a simple web server embedded in the Linux Application Checker and will try to locate and open your web browser with the proper address to this server.

Notes:

* The port-number argument is optional (by default 8889 is taken).

* If the script could not find your browser and you wish to use the web-based interface, please start the browser manually and specify the address
http://localhost:8889/
(the port number should be the same as specified on the previous note).

* You may also connect to the Linux Application Checker from any remote computer by specifying the URL http://<test-machine-name>:8889/ in your browser.

Using the Web Interface

Once the Linux Application Checker is started, the main page for the web-based application will be displayed in your default web browser. To run your first test, follow these steps:

1. Click the Application Check link. The Application Check page will open.

2. Type a name for your test report in the Name field.

3. Enter the filepath to the application you want to check in the Components field.

Note: The Components field should contain all components of the application:

* Individual files

* Whole directories

* Installed RPM packages (prepended with pkg:)

* RPM and DEB package files

* TAR.GZ and TAR.BZ2 archives

The archives will be automatically unpacked. Only the files of the following type will be tested:

* ELF (executables and shared objects)

* Perl scripts

* Python scripts

* Shell scripts

4. To assist in entering components, click the Select Application Components button. The Application Components Selection web dialog box will open.

5. Click the appropriate directory names to navigate to the location of your application components.

6. Click the checkbox(es) for the desired component(s). The component(s) will be selected.

7. Click Finish. The Application Components Selection web dialog box will close, and the file path to the component(s) will appear in the Components field.

8. Click the expansion icon for Additional Options. The options will be displayed.

9. Select the desired LSB Version.

10. Select the desired LSB Profile.

11. If you plan on running this test again, type a name for the test profile in the User Profile Management field and click Save.

12. Click the Run the Test button. The test will begin its run and, when finished, the results will be displayed on the Test Report page.

Note: There are some prerequisites for the test suites to be able to run (listed in the <Linux-app-checker dir>/README file). If they are not met, an error message will be shown at the top of the page when you try to run the tests. In this case you will have to eliminate the problems and run the tests again.

13. Click on the various tabs in the Test Report page to determine the following aspects of your application's portability:

* Distribution Compatibility: Shows compatibility status of your application with the distributions analyzed by the Linux Foundation.

* Required Libraries: Lists all external libraries required by your Application (based on DT_NEEDED ELF section).

* Required Interfaces: Lists all external interfaces required by your Application (based on ELF symbols)

* LSB Certification: If there are no compatibility concerns, you can start the certification process for the tested application you have just tested. To do so, just click the Apply for Certification link, and you will be redirected to the Certification System.

14. When finished, click on the Results History link. The list of all the reports generated for every test run is shown.

15. To view any particular report, just click the corresponding link in the Date/Time column. To remove some of the reports, select them with the check boxes and click the Remove Selected Entries button.

Using the Command Line Interface

You can also, if you prefer, use the command line to run Application Checker tests. To run your first test, follow these steps:

1. Navigate to ./linux-app-checker/utils.

2. Execute the command:
./run_tests.pl --paths=<paths-list>
where <paths-list> is a colon-separated list of files or directories to be tested (the same as Files and directories textbox in the web interface).

3. You can use the following command for testing the installed packages:
./run_tests.pl --packages=<packages-list>
where <packages-list> is a colon-separated list of package names.

In addition, the following options may be useful:

-n <name>: Name of the application.

--lsb=<LSB-version>: Allows to explicitly specify the LSB version to test against.

-T <profile>: Allows to specify the LSB profile to test against. Possible values are: core,c++ and core,c++,desktop (default).

-r <results-dir>: Specify the directory for the results.

Please execute
./run_tests.pl --help
for the full list of the options available in the current version.
Managing the Test Results Repository

* The results for test runs are stored in the directory ./linux-app-checker/results. All the files from each test run are stored in separate subdirectory named <arch>-<machine>-<application>-<date>-<time>.

* For the result to be visible on the Results History page of the web interface, it should be listed in the .../results/HISTORY file.

* If you are using the web interface for running the tests, the HISTORY file is managed automatically. If you copy the test results from another machine or another directory by hand, you will need to write the appropriate directory names into this file manually.

Administering AppChecker

* To stop the web server, go to the Administration page in the web interface and click the Stop server button. Alternatively, you may run the script
<linux-app-checker dir>/bin/app-checker-stop.pl [port-number]

The port number is optional and can be used when there are several Linux Application Checker servers running on the same machine (if you do not specify the port number when multiple AppCheckers are running, you will be asked for the port number).

* To remove Linux Application Checker from your machine, simply remove the directory in which it was unpackaged.

Warning: this directory contains not only the Linux Application Checker, but also all your test results!

If you haven't done so already, visit the Linux Application Checker download page to download the AppChecker.
#17512
请问appchecker是开源的吗,如果开源的话地址是什么呢

发表新评论

  • 你可以在文本中使用BBCode标记语言。 URL会自动被转为链接。

更多关於格式化选项的信息

CAPTCHA
请验证您是否是机器人。
Image CAPTCHA
Enter the characters shown in the image.