0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Linux Debugging using a Bootloader with Kernel Parameters

Linux Debugging using a Bootloader with Kernel Parameters

The grub menu.lst provides for a convenient way to add a number of entries with extended kernel parameters to configure all sorts of advanced settings to enable you to quickly and conveniently boot into your existing system with varying levels of debugging output. It’s very easy and useful to create several levels of debugging just by adding additional entries to your grub configuration. And if you ever have issues or problems down the road due to a power-failure or hardware failure, it can save you hours of trouble, and of course nothing can beat debugging output when it comes to learning about your system.

2013-04-11: My /proc/cmdline optimized for super duper speed, not debugging.
root=UUID ro rootfstype=ext4 video=DVI-D-1:1920×1200 elevator=noop selinux=0 plymouth.enable=0 libahci.ignore_sss=1 raid=noautodetect ipv6.disable=1 cgroup_disable=memory

As prerequisite to reading this article, please refer to the Dmesg and Linux kernel log page.

«Dynamic debug is designed to allow you to dynamically enable/disable kernel code to obtain additional kernel information. Currently, if CONFIG_DYNAMIC_DEBUG is set, all pr_debug()/dev_dbg() calls can be dynamically enabled per-callsite.» extracted from the Linux kernel documentation [1] .

The related debugfs entry is usually:

Note that the verbose dev_vdbg() calls cannot be dynamically activated.

When the dynamic debug traces are activated, the trace results are printed in dmesg (or /proc/kmsg), and in the console if console loglevel is set to 8.

Getting to know your troubleshooting toolkit

As any detective will tell you, solving a mystery requires evidence. If your mystery involves inexplicably slow performance or crashes, you have several places to look for clues.

Built-in troubleshooters

The most obvious first step on the road to resolving performance issues is the aptly named Troubleshooting section in the classic Control Panel. By default, it displays a list of the most commonly used troubleshooters included with Windows 10, as shown in Figure 17-1.

Figure 17-1 Each of the troubleshooters included with Windows 10 launches an interactive problem-solving tool that steps you through diagnosis and resolution of common problems.

Click the View All link on the left of the Troubleshooting page to see an expanded list that includes modules for fixing more esoteric problems, such as issues with search and indexing or with the Background Intelligent Transfer Service.

There’s nothing magical about any of these troubleshooters. Their purpose is to ensure that you check the most common causes of problems, including some that might seem obvious (Is the network cable plugged in? Is the printer turned on?). Running a troubleshooter can result in easy fixes for some issues; more importantly, it establishes a baseline for further troubleshooting.

A troubleshooter might lead you through several steps and ask you to check settings or connections. At the end, it displays its results, which include a View Detailed Information link that displays a troubleshooting report similar to the one shown in Figure 17-2.

Figure 17-2 The troubleshooting report lists issues and indicates whether they were fixed. Click the Detection Details link to see more granular information about that item.

Inside OUT: Microsoft Fix It provides another self-repair option

Using technology similar to the troubleshooting packs, Microsoft Fix It provides online configuration settings and solutions to a variety of problems. Typically, a Fix It solution allows you to automatically apply a system setting that would otherwise require manual work, such as editing the registry. You can find a full listing of existing Fix It solutions at support2.microsoft.com/fixit, although many of the entries there apply only to earlier Windows versions. It’s more common to find a new Fix It associated with a Knowledge Base article that identifies a workaround or mitigation for a security or reliability issue before an update is available.

Windows Error Reporting

Often an early indication that something is amiss is an error message informing you that an application is “not responding”—as if you hadn’t figured that out already. If the application doesn’t come back to life, you kill the process with Task Manager and move on, ideally without losing any data.

While all that’s happening, the Windows Error Reporting (WER) service runs continuously in the background, keeping track of software and driver installations (successful and otherwise) as well as crashes, hangs, and other system events that indicate a possible problem with Windows. (In fact, although the service and programs that enable the feature are called Windows Error Reporting, the term you’re more likely to see in Windows is problem reporting.) Microsoft provides this diagnostic information to the developers of the program that caused the error (including Microsoft developers when the issue occurs with a feature in Windows, Office, or another Microsoft program). The goal, of course, is to improve quality by identifying problems and delivering fixes through Windows Update.

In previous versions, Windows was downright chatty about reporting crashes, successful updates, and minor speed bumps. In Windows 10, most of these problem reports (including diagnostic reports sent after successful upgrades) are completely silent, but each report is logged. You can use the history of problem reports on a system to review events and to see whether any patterns demand additional troubleshooting.

To open the Problem Reports log, type problem reports in the search box and then click View All Problem Reports. Figure 17-3 shows a portion of the error history for a computer that was upgraded to Windows 10 in the first month after it was available.

Figure 17-3 The list of saved problem reports displays only the two most recent reports in each group; click More to see earlier reports.

If the words Solution Available appear in the Status column for an item, right-click that item and then click View Solution. Note also that the shortcut menu includes commands to group the entries in the list of problem reports by source (the default view, shown in Figure 17-3), summary, date, or status—or you can choose Ungroup to see the entire, uncategorized list. With the list grouped or not, you can sort by any field by clicking the field’s column heading.

You can see a more detailed report about any event in this log by double-clicking the event. The Description field is usually written clearly enough to provide potentially useful information. The rest of the details might or might not be meaningful to you, but they could be helpful to a support technician. Some reports include additional details sent in a text file that you can inspect for yourself. In Figure 17-4, for example, a file called WERInternalMetadata.xml captures information about the Windows installation and its memory use. None of this information is personal or linked to your PC.

Figure 17-4 You can review the contents of a problem report, including any additional information sent as file attachments, before or after it’s sent.

By default, Windows 10 configures your system so that it sends a generous amount of diagnostic and feedback information, including error reports that could inadvertently contain personal information. If you are concerned about data use or privacy, you can dial back the amount of diagnostic information by using the Feedback & Diagnostics page under the Privacy heading in Settings. Figure 17-5 shows the default settings.

Figure 17-5 If you’re concerned about sensitive data leaking out as part of diagnostic reports, consider changing the Diagnostic And Usage Data setting from its default of Full.

The Feedback Frequency setting at the top of this page controls how often Microsoft asks you about your use of features. If you prefer to be left alone, set this to Never.

The second heading, Diagnostic And Usage Data, allows you to specify how much diagnostic information your Windows 10 device sends to Microsoft servers as part of its normal operation. Much of that information is from problem reports, which rarely mean much by themselves but can be tremendously important as part of a larger data set to pinpoint the cause of problems. There are three available settings:

  • Basic. This level includes data that is fundamental to the operation of Windows and Windows Update. It includes information about the capabilities of your device, what is installed, and whether Windows is operating correctly (which includes sending basic error reports to Microsoft). No personally identifiable information is included.
  • Enhanced. Along with the data sent with the Basic setting, this setting adds data about how you use Windows (how often you use certain features or apps, for example) and collects enhanced diagnostic information, such as the memory state of your device when a system or app crash occurs. Information sent to Microsoft also includes reliability data for devices, the operating system, and apps.
  • Full (Recommended). This setting, which is enabled by default, includes the full set of information from the Basic and Enhanced levels and turns on advanced diagnostic features that provide much more detailed error reports. These reports might include system files or memory snapshots that could include the contents of a file or message you were working on when the problem occurred. If a report inadvertently contains personal or sensitive information, Microsoft’s privacy policy says the information will not be used to identify, contact, or target advertising to you.

The basic report that Windows Error Reporting transmits typically includes information such as the application name and version, module name and version, exception (error) code, and offset. Hardware reports include Plug and Play IDs, driver versions, and other system details. The likelihood that any of these items will convey personally identifiable information is essentially nil. The process does transmit your IP address to a Microsoft server, but Microsoft’s privacy statement asserts that the IP address is used only to generate aggregate statistics and will not be used to identify you.

In work environments, your network administrators will almost certainly disable the sending of advanced error reports that might inadvertently disclose confidential information.

If privacy is a major concern, you should, of course, read Microsoft’s privacy statement for this feature, which is available at bit.ly/win10-feedback-privacy. Although most people are understandably reluctant to send information to a faceless corporation, remember that this is a two-way street. You’re sending information about a problem, and there’s a good chance that, in return, you’ll receive a solution to the problem, as explained in the next section. (Remember, too, that the engineers who analyze the problem information to develop solutions are not faceless!)

Читать еще:  Адблок от блох. Выбираем и настраиваем блокировщик для борьбы с трекерами, рекламой и майнингом

Reliability Monitor

Windows 10 keeps track of a wide range of system events. For a day-by-day inventory of these events, type reliability in the search box and then click the top result, View Reliability History. That opens Reliability Monitor, shown in Figure 17-6.

Figure 17-6 Reliability Monitor rates your system’s stability on a scale of 1 (wear a crash helmet) through 10 (smooth sailing). This PC has had a rough week.

Each column in the graphical display represents events of a particular day (or week, if you click that option in the upper left corner). Each red X along the first three lines below the graph (the various “Failures” lines) indicates a day on which problems occurred. The “Warnings” line describes minor problems unrelated to system reliability, such as a program whose installation process didn’t complete properly. The last line below the graph—the line marked Information—identifies days on which an app or an update was installed or removed. You can see the details about the events of any day by clicking on the graph for that day. Reliability Monitor retains its system stability records for one year, giving you plenty of history to review.

This history is most useful when you begin experiencing a new problem and are trying to track down its cause. Examine the critical events for the period when the problem began, and see whether they correspond with an informational item, such as a program installation. The alignment of these events could be mere coincidence, but it could also represent the first appearance of a long-term problem. Conjunctions of this sort are worth examining. If you think a new software application has destabilized your system, you can try uninstalling it.

Double-clicking any item exposes its contents, which are filled with technical details that are potentially useful, confusing, or both.

Although the various signatures and details for each such incident by themselves are probably just baffling, they’re much more useful in the aggregate. Armed with a collection of similar reports, an engineer can pin down the cause of a problem and deliver a bug fix. If a previously common error suddenly stops appearing in the logs, chances are it was resolved with an update.

Note also that you can click the link in the Action column to take additional steps, such as searching for a solution or viewing the technical details of a particular event.

Launching the Debugger in Different Modes

The debugger plugin can run the native debuggers in various operating modes depending on where and how the debugged process is started and run. Some of the modes are only available for a particular operating system or platform.

In general, F5 and the Start Debugging of Startup Project button are set up in a way to start the operating mode that is commonly used in a given context. So if the current project is set up as a C++ application using the MinGW toolchain targeting desktop Windows, the GDB engine will be started in Start Internal mode. If the current project is a QML application using C++ plugins, a «mixed» QML/C++ engine will be started, with the C++ parts being handled by GDB and GDB server remote debugging.

Change the run configuration parameters (such as Run in Terminal) in the run settings of the project, or select options from the Debug > Start Debugging menu to select other modes of operation.

The debugger can run in the following modes:

  • Start Internal to debug applications developed inside Qt Creator such as a Qt based GUI application.
  • Start External to start and debug processes without a proper Qt Creator project setup, either locally or on a remote machine.
  • Attach to debug processes already started and running outside Qt Creator, either locally or on a remote machine.
  • Core to debug crashed processes on Unix.
  • Post-mortem to debug crashed processes on Windows.

Launching in Start Internal Mode

Start Internal mode is the default start mode for most projects, including all projects using a desktop Qt version and plain C++ projects.

If you need a console window to operate your application, for example because it accepts console input from the user, go to Projects > Run Settings and select the Run in terminal check box.

If a console application does not start up properly in the configured console and the subsequent attach fails, you can diagnose the issue by using CDB’s native console. Select Tools > Options > Debugger > CDB > Use CDB console to override the console set in the Windows system environment variables. Note that the native console does not prompt on application exit.

To launch the debugger in Start Internal mode, click the Start Debugging button for the active project.

You can specify breakpoints before or after launching the debugger. For more information, see Setting Breakpoints.

Launching in Start External Mode

You can debug any executable already present on your local or on a remote machine without using a project. You specify a build and run kit that identifies the device to debug the application on.

While this mode does not strictly require a project to be opened in Qt Creator, opening it makes setting breakpoints and stepping through the code easier.

To start and debug an external application:

    Select Debug >Start Debugging >Start and Debug External Application.

  • In the Kit field, select the build and run kit to use for building the project.
  • In the Local executable field, specify the path to the application executable on the local machine.
  • In the Command line arguments field, specify command line arguments to be passed to the executable.
  • In the Working directory field, specify the working directory. It defaults to the directory of the build result.
  • Select the Run in terminal check box for console applications.
  • Select the Break at «main» check box to stop the debugger at the main function.
  • In the Override SysRoot field, specify the path to the sysroot to use instead of the default sysroot .
  • In the Debug information field, specify the location for storing debug information. You cannot use an empty path.
  • In the Recent field, you can select a recent configuration to use.
  • Launching in Attach Mode

    You can attach the debugger to applications that are already running or instruct the debugger to attach to an application when it starts.

    Attaching to Running Applications

    To attach the debugger to an application already running on your local or on a remote machine:

      Select Debug >Start Debugging >Attach to Running Application.

  • In the Filter field, enter a string to filter processes by their process ID or name.
  • Select a process in the list, and then select Attach to Process to start debugging.
  • To refresh the list of running processes, select Update List.

    To terminate the selected process, select Kill Process.

    While this mode does not strictly require a project to be opened in Qt Creator, opening it makes setting breakpoints and stepping through the code easier.

    You can specify breakpoints before or after attaching the debugger to the application. For more information, see Setting Breakpoints.

    Attaching to Processes when They Start

    To instruct the debugger to watch an application process and to attach to it when it starts:

      Select Debug >Start Debugging >Attach to Unstarted Application.

  • In the Kit field, select the build and run kit to use for building the project.
  • In the Executable field, specify the path to the application executable.
  • Select the Reopen dialog when application finishes check box to return to this dialog when the application is closed.
  • Select the Continue on attach check box to instruct the debugger to keep the application running after attaching to it.
  • Select Start Watching to wait for the application process to start.
  • Launching in Core Mode

    The Core mode is used to inspect core files (crash dumps) that are generated from crashed processes on Linux and Unix systems if the system is set up to allow this.

    To enable the dumping of core files on a Unix system, enter the following command in the shell from which the application will be launched:

    To launch the debugger in the core mode:

      Select Debug >Start Debugging >Load Core File.

  • In the Kit field, select a build and run kit that was used for building the binary for which the core file was created. If the core file stems from a binary not built by Qt Creator or a process not initiated by Qt Creator, select a kit that matches the setup used as closely as possible, in respect to the specified device, tool chain, debugger, and sysroot.
  • In the Core file field, specify the core file to inspect.
  • In the Executable of symbol file field, specify a file that contains debug information corresponding to the core file. Typically, this is the executable file or a .debug file if the debug information is stored separately from the executable.
  • In the Override start script field, specify a script file to run instead of the default start script.
  • In the Override SysRoot field, specify the path to the sysroot to use instead of the default sysroot .
  • Also in this mode, using a properly configured project containing the sources of the crashed program is not strictly necessary, but helpful.

    Launching in Post-Mortem Mode

    The post-mortem mode is available only on Windows, if you have installed the debugging tools for Windows.

    The Qt Creator installation program asks you whether you want to register Qt Creator as a post-mortem debugger. To change the setting, select Tools > Options > Debugger > General > Use Qt Creator for post-mortem debugging.

    You can launch the debugger in the post-mortem mode if an application crashes on Windows. Click the Debug in Qt Creator button in the error message that is displayed by the Windows operating system.

    Before Launch

    In this area you can specify tasks that must be performed before starting the selected run/debug configuration. The tasks are performed in the order they appear in the list.

    Click this icon to add one of the following available tasks:

    Run External tool : select to run an external application. In the dialog that opens, select one or multiple applications you want to run. If it is not defined in IntelliJ IDEA yet, add its definition. For more information, see External tools and External Tools.

    Run Another Configuration : select to execute another run/debug configuration. In the dialog that opens, select the configuration to be run.

    Build : select to compile the specified module. The Build Module command will be executed.

    If an error occurs during compilation, IntelliJ IDEA won’t attempt to start the run/debug configuration.

    Читать еще:  Почему компьютер на Windows не подключается к телефону в режиме точки доступа Wi-Fi?

    Build Project : select to compile the entire project. The Build Project command will be executed.

    If an error occurs during compilation, IntelliJ IDEA won’t attempt to start the run/debug configuration.

    Build, no error check : the same as the Build option, but IntelliJ IDEA will try to start the run/debug configuration irrespective of the compilation results.

    Build Artifacts : select this option to build an artifact or artifacts. In the dialog that opens, select the artifact or artifacts that should be built.

    Launch Web Browser : select this option to have a browser started. In the dialog that opens, select the type of the browser and provide the start URL. Also, specify if you want the browser be launched with JavaScript debugger.

    Run Ant target : select this option to run an Ant target. In the dialog that opens, select the target to be run.

    Run Grunt task : select this option to run a Grunt task.

    In the Grunt task dialog that opens, specify the Gruntfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Grunt tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the grunt-cli package.

    Run Gulp task : select this option to run a Gulp task.

    In the Gulp task dialog that opens, specify the Gulpfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Gulp tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the gulp package.

    Run Maven Goal : select this option to run a Maven goal. In the dialog that opens, select the goal to be run.

    Run npm Script : select this option to execute an npm script.

    In the NPM Script dialog that opens, specify the npm run/debug configuration settings.

    Compile TypeScript : select to run the built-in TypeScript compiler and thus make sure that all the changes you made to your TypeScript code are reflected in the generated JavaScript files. In the TypeScript Compile Settings dialog that opens, select or clear the Check errors checkbox to configure the behaviour of the compiler in case any errors are detected:

      If the Check errors checkbox is selected, the compiler will show all the errors and the run configuration will not start.

      If the Check errors checkbox is cleared, the compiler will show all the detected errors but the run configuration still will be launched.

      Generate CoffeeScript Source Maps : select this option to generate the source maps for your CoffeeScript sources. In the dialog that opens, specify where your CoffeeScript source files are located.

      Run Remote External tool : adds a remote SSH external tool.

      Run Rake task : add a Rake task to be executed prior to running or debugging. To choose a Rake task, click the browse button , and select the desired task from the list of available tasks.

      Note that code completion is available here.

      Run JRuby compiler : choose this option to execute JRuby compiler with the specified target path, compiler process heap size, and command line parameters (if any).

      By default this checkbox is selected and the Run or the Debug tool window opens when you start the run/debug configuration.

      Otherwise, if the checkbox is cleared, the tool window is hidden. However, when the configuration is running, you can open the corresponding tool window for it yourself by pressing Alt+4 or Alt+5 .

      This setting is shared if you select to share your run/debug configuration, so the same method will be applied for your team members irrespective of their operating system.

      Net Console

      If you read through the kernel documentation regarding debugging, you will hear about Netconsole, which can be loaded from the kernel line in GRUB, compiled into your kernel, or loaded at runtime as a module. Having a netconsole entry in your menu.lst is most excellent for debugging slower computers like old laptops or thin-clients. It’s easy to use. Just setup a 2nd computer (running arch) to accept syslog requests on a remote port, very fast and quick to do on arch-linux, 1 line to syslog.conf. Then you could use a log-color-parser like ccze to view all syslog logs, or just tail your everything.log. Then on your laptop, boot up and select the netconsole entry from the grub menu, and you will start seeing as much logging as you want on your syslog system. This logging lets you view even earlier log output than is available with the earlyprintk=vga kernel parameter, as netconsole is used by kernel hackers and developers, so it’s very powerful.

      Getting to know your troubleshooting toolkit

      As any detective will tell you, solving a mystery requires evidence. If your mystery involves inexplicably slow performance or crashes, you have several places to look for clues.

      Built-in troubleshooters

      The most obvious first step on the road to resolving performance issues is the aptly named Troubleshooting section in the classic Control Panel. By default, it displays a list of the most commonly used troubleshooters included with Windows 10, as shown in Figure 17-1.

      Figure 17-1 Each of the troubleshooters included with Windows 10 launches an interactive problem-solving tool that steps you through diagnosis and resolution of common problems.

      Click the View All link on the left of the Troubleshooting page to see an expanded list that includes modules for fixing more esoteric problems, such as issues with search and indexing or with the Background Intelligent Transfer Service.

      There’s nothing magical about any of these troubleshooters. Their purpose is to ensure that you check the most common causes of problems, including some that might seem obvious (Is the network cable plugged in? Is the printer turned on?). Running a troubleshooter can result in easy fixes for some issues; more importantly, it establishes a baseline for further troubleshooting.

      A troubleshooter might lead you through several steps and ask you to check settings or connections. At the end, it displays its results, which include a View Detailed Information link that displays a troubleshooting report similar to the one shown in Figure 17-2.

      Figure 17-2 The troubleshooting report lists issues and indicates whether they were fixed. Click the Detection Details link to see more granular information about that item.

      Inside OUT: Microsoft Fix It provides another self-repair option

      Using technology similar to the troubleshooting packs, Microsoft Fix It provides online configuration settings and solutions to a variety of problems. Typically, a Fix It solution allows you to automatically apply a system setting that would otherwise require manual work, such as editing the registry. You can find a full listing of existing Fix It solutions at support2.microsoft.com/fixit, although many of the entries there apply only to earlier Windows versions. It’s more common to find a new Fix It associated with a Knowledge Base article that identifies a workaround or mitigation for a security or reliability issue before an update is available.

      Windows Error Reporting

      Often an early indication that something is amiss is an error message informing you that an application is “not responding”—as if you hadn’t figured that out already. If the application doesn’t come back to life, you kill the process with Task Manager and move on, ideally without losing any data.

      While all that’s happening, the Windows Error Reporting (WER) service runs continuously in the background, keeping track of software and driver installations (successful and otherwise) as well as crashes, hangs, and other system events that indicate a possible problem with Windows. (In fact, although the service and programs that enable the feature are called Windows Error Reporting, the term you’re more likely to see in Windows is problem reporting.) Microsoft provides this diagnostic information to the developers of the program that caused the error (including Microsoft developers when the issue occurs with a feature in Windows, Office, or another Microsoft program). The goal, of course, is to improve quality by identifying problems and delivering fixes through Windows Update.

      In previous versions, Windows was downright chatty about reporting crashes, successful updates, and minor speed bumps. In Windows 10, most of these problem reports (including diagnostic reports sent after successful upgrades) are completely silent, but each report is logged. You can use the history of problem reports on a system to review events and to see whether any patterns demand additional troubleshooting.

      To open the Problem Reports log, type problem reports in the search box and then click View All Problem Reports. Figure 17-3 shows a portion of the error history for a computer that was upgraded to Windows 10 in the first month after it was available.

      Figure 17-3 The list of saved problem reports displays only the two most recent reports in each group; click More to see earlier reports.

      If the words Solution Available appear in the Status column for an item, right-click that item and then click View Solution. Note also that the shortcut menu includes commands to group the entries in the list of problem reports by source (the default view, shown in Figure 17-3), summary, date, or status—or you can choose Ungroup to see the entire, uncategorized list. With the list grouped or not, you can sort by any field by clicking the field’s column heading.

      You can see a more detailed report about any event in this log by double-clicking the event. The Description field is usually written clearly enough to provide potentially useful information. The rest of the details might or might not be meaningful to you, but they could be helpful to a support technician. Some reports include additional details sent in a text file that you can inspect for yourself. In Figure 17-4, for example, a file called WERInternalMetadata.xml captures information about the Windows installation and its memory use. None of this information is personal or linked to your PC.

      Figure 17-4 You can review the contents of a problem report, including any additional information sent as file attachments, before or after it’s sent.

      By default, Windows 10 configures your system so that it sends a generous amount of diagnostic and feedback information, including error reports that could inadvertently contain personal information. If you are concerned about data use or privacy, you can dial back the amount of diagnostic information by using the Feedback & Diagnostics page under the Privacy heading in Settings. Figure 17-5 shows the default settings.

      Figure 17-5 If you’re concerned about sensitive data leaking out as part of diagnostic reports, consider changing the Diagnostic And Usage Data setting from its default of Full.

      The Feedback Frequency setting at the top of this page controls how often Microsoft asks you about your use of features. If you prefer to be left alone, set this to Never.

      The second heading, Diagnostic And Usage Data, allows you to specify how much diagnostic information your Windows 10 device sends to Microsoft servers as part of its normal operation. Much of that information is from problem reports, which rarely mean much by themselves but can be tremendously important as part of a larger data set to pinpoint the cause of problems. There are three available settings:

      • Basic. This level includes data that is fundamental to the operation of Windows and Windows Update. It includes information about the capabilities of your device, what is installed, and whether Windows is operating correctly (which includes sending basic error reports to Microsoft). No personally identifiable information is included.
      • Enhanced. Along with the data sent with the Basic setting, this setting adds data about how you use Windows (how often you use certain features or apps, for example) and collects enhanced diagnostic information, such as the memory state of your device when a system or app crash occurs. Information sent to Microsoft also includes reliability data for devices, the operating system, and apps.
      • Full (Recommended). This setting, which is enabled by default, includes the full set of information from the Basic and Enhanced levels and turns on advanced diagnostic features that provide much more detailed error reports. These reports might include system files or memory snapshots that could include the contents of a file or message you were working on when the problem occurred. If a report inadvertently contains personal or sensitive information, Microsoft’s privacy policy says the information will not be used to identify, contact, or target advertising to you.
      Читать еще:  Полный обзор сервиса Orbot — РЕАЛЬНО ли он анонимный?

      The basic report that Windows Error Reporting transmits typically includes information such as the application name and version, module name and version, exception (error) code, and offset. Hardware reports include Plug and Play IDs, driver versions, and other system details. The likelihood that any of these items will convey personally identifiable information is essentially nil. The process does transmit your IP address to a Microsoft server, but Microsoft’s privacy statement asserts that the IP address is used only to generate aggregate statistics and will not be used to identify you.

      In work environments, your network administrators will almost certainly disable the sending of advanced error reports that might inadvertently disclose confidential information.

      If privacy is a major concern, you should, of course, read Microsoft’s privacy statement for this feature, which is available at bit.ly/win10-feedback-privacy. Although most people are understandably reluctant to send information to a faceless corporation, remember that this is a two-way street. You’re sending information about a problem, and there’s a good chance that, in return, you’ll receive a solution to the problem, as explained in the next section. (Remember, too, that the engineers who analyze the problem information to develop solutions are not faceless!)

      Reliability Monitor

      Windows 10 keeps track of a wide range of system events. For a day-by-day inventory of these events, type reliability in the search box and then click the top result, View Reliability History. That opens Reliability Monitor, shown in Figure 17-6.

      Figure 17-6 Reliability Monitor rates your system’s stability on a scale of 1 (wear a crash helmet) through 10 (smooth sailing). This PC has had a rough week.

      Each column in the graphical display represents events of a particular day (or week, if you click that option in the upper left corner). Each red X along the first three lines below the graph (the various “Failures” lines) indicates a day on which problems occurred. The “Warnings” line describes minor problems unrelated to system reliability, such as a program whose installation process didn’t complete properly. The last line below the graph—the line marked Information—identifies days on which an app or an update was installed or removed. You can see the details about the events of any day by clicking on the graph for that day. Reliability Monitor retains its system stability records for one year, giving you plenty of history to review.

      This history is most useful when you begin experiencing a new problem and are trying to track down its cause. Examine the critical events for the period when the problem began, and see whether they correspond with an informational item, such as a program installation. The alignment of these events could be mere coincidence, but it could also represent the first appearance of a long-term problem. Conjunctions of this sort are worth examining. If you think a new software application has destabilized your system, you can try uninstalling it.

      Double-clicking any item exposes its contents, which are filled with technical details that are potentially useful, confusing, or both.

      Although the various signatures and details for each such incident by themselves are probably just baffling, they’re much more useful in the aggregate. Armed with a collection of similar reports, an engineer can pin down the cause of a problem and deliver a bug fix. If a previously common error suddenly stops appearing in the logs, chances are it was resolved with an update.

      Note also that you can click the link in the Action column to take additional steps, such as searching for a solution or viewing the technical details of a particular event.

      How to debug remotely WildFly

      Do you want to learn how to remotely debug WildFly using IntelliJ or Eclipse? then keep reading this turorial!

      Debugging a remotely running Java application using Eclipse IDE is an important skill for any developer. In order to activate remote debug in WildFly, you need to apply some Java options. These options are already included (but commented out) in the standalone.conf file. Here’s the line:

      • JDWP is the communication protocol used to start the debug. The transport can be of type DT_SOCKET for Linux and DT_SHMEM for Windows machines.
      • Address is the client/server connection URL and by default it is 8787.
      • With suspend=y the Java-process will wait until the debugger connects, with suspend=n you will be also able to debug the application servers startup process.
      • The option server=y opens a socket and listens for incoming debugger requests. With server=n the debugged application will try to connect actively to a debugger and run therefore as a client.

      That being said, after uncommenting the line, start WildFly as usual:

      Now let’s deploy an application in it, such as the Hello World: HelloWorld JPA application

      Startup Settings

      Here are the various startup methods you’ll find on the Startup Settings menu in Windows 10 and Windows 8:

      Start Windows 10 or Windows 8 in Normal Mode at any time by pressing Enter.

      Enable Debugging

      The Enable debugging option turns on kernel debugging in Windows. This is an advanced troubleshooting method where Windows startup information can be transmitted to another computer or device that’s running a debugger. By default, that information is sent over COM1 at a baud rate of 15,200.

      Enable debugging is the same as Debugging Mode that was available in previous versions of Windows.

      Enable Boot Logging

      The Enable boot logging option starts Windows 10 or Windows 8 normally but also creates a file of the drivers being loaded during the next boot process. The «boot log» is stored as ntbtlog.txt in whatever folder Windows is installed on, almost always C:Windows.

      If Windows starts properly, take a look at the file and see if anything helps with the troubleshooting of whatever issue you’re having.

      If Windows does not start properly, choose one of the Safe Mode options and then look at the file once Windows starts in Safe Mode.

      If even Safe Mode doesn’t work, you can restart into Advanced Startup Options, open Control Panel, and view the log file from there using the type command: type d:windowsntbtlog.txt.

      Enable Low-Resolution Video

      The Enable low-resolution video option starts Windows 10 or Windows 8 normally but sets the screen resolution to 800-pixels-by-600-pixels. In some cases, like with older CRT style computer monitors, the refresh rate is also lowered.

      Windows won’t start properly if the screen resolution is set out in the range supported by your screen. Since almost all screens support an 800×600 resolution, Enable low-resolution video gives you a chance to correct any configuration problems.

      Only display settings are changed with Enable low-resolution video. Your current display driver is not uninstalled or changed in any way.

      Enable Safe Mode

      The Enable Safe Mode option starts Windows 10 or Windows 8 in Safe Mode, a diagnostic mode that loads the minimum set of services and drivers possible to make Windows run.

      If Windows starts in Safe Mode, you may be able to run additional diagnostics and testing to figure out what disabled service or driver is preventing Windows from starting normally.

      Enable Safe Mode with Networking

      The Enable Safe Mode with Networking option is identical to the Enable Safe Mode option except that drivers and services required for networking are enabled. This a great option to choose if you think you might need access to the internet while in Safe Mode.

      Enable Safe Mode with Command Prompt

      The Enable Safe Mode with Command Prompt option is identical to Enable Safe Mode but Command Prompt is loaded as the default user interface, not Explorer, which loads the Start screen and Desktop.

      Choose this option if Enable Safe Mode doesn’t work and you also have commands in mind that might be helpful in figuring out what’s keeping Windows 10 or Windows 8 from starting.

      Disable Driver Signature Enforcement

      The Disable driver signature enforcement option allows non-signed drivers to be installed in Windows.

      This startup option can be helpful during some advanced driver troubleshooting tasks.

      Disable Early Launch Anti-Malware Protection

      The Disable early launch anti-malware protection does just that—it disables the Early Launch Anti-malware driver, one of the first drivers loaded by Windows during the boot process.

      This option could be useful if you suspect a Windows 10 or Windows 8 startup problem might be due to a recent anti-malware program installation, un-installation, or settings change.

      Disable Automatic Restart After Failure

      The Disable automatic restart after failure disables Automatic restart in Windows 10 or Windows 8.

      When this feature is enabled, Windows forces your device to restart after a major system failure like a BSOD (Blue Screen of Death).

      Because Automatic restart is enabled by default in both Windows 10 and Windows 8, your first BSOD will force a restart, possibly before you’re able to jot down the error message or code for troubleshooting. With this option, you can disable the feature from Startup Settings, without needing to enter Windows.

      See How To Disable Automatic Restart on System Failure in Windows for instructions on doing this from within Windows, a proactive step that we recommended you do.

      Launch Recovery Environment

      This option is available on the second page of options in Startup Settings, which you can access by pressing F10.

      Choose Launch recovery environment to return to the Advanced Startup Options menu. You’ll see a short Please wait screen while Advanced Startup Options loads.

      Ссылка на основную публикацию
      Статьи c упоминанием слов:
      Adblock
      detector