Pull to refresh
9
0
Павел @ExIngus

Java Developer

Send message

Ещё, если нечего не поменялось за год, то chrome в linux ещё и требует root.
После установки у файла chrome-sandbox будет проставлен бит s и владелец root.

Если гебернация устраивает, то попробуйте suspend-then-hibernate.
Только нужно задать параметр HibernateDelaySec в /etc/systemd/sleep.conf или /etc/systemd/sleep.conf.d/.

#/etc/systemd/sleep.conf                                                                                                                          848/848               100%

[Sleep]
HibernateDelaySec=4000min
Это тоже Eclipse с плагинами
Думаю лучше делать плагин к NB.
В качестве костыля решение выше работает, просто оно «поставит на паузу» все сессии отладки через gdb.
using namespace std;

#include <cstdlib>
#include <windows.h>
#include <Tlhelp32.h>

#define STR_EQUAL 0

void signINT(int consolePid) {
    FreeConsole();
    AttachConsole(consolePid);
    GenerateConsoleCtrlEvent(0, 0);
}

void onProcess(LPPROCESSENTRY32W proc) {
    if (lstrcmpiW(L"gdb.exe", proc->szExeFile) == STR_EQUAL || lstrcmpiW(L"arm-none-eabi-gdb.exe", proc->szExeFile) == STR_EQUAL) {
        signINT(proc->th32ProcessID);
    }
}

int main(int Argc, char** Argv) {
    //kill -s INT <PID>
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (snapshot == INVALID_HANDLE_VALUE) {
        return 1;
    }
    PROCESSENTRY32W proc;
    proc.dwSize = sizeof (PROCESSENTRY32W);
    if (Process32FirstW(snapshot, &proc)) {
        onProcess(&proc);
        while (Process32NextW(snapshot, &proc)) {
            onProcess(&proc);
        }
    }

    CloseHandle(snapshot);
   return 0;
}
Надо смотреть логи oocd и gdb, всего скорее произошла ошибка.
Вот пример проекта, с моими настройками
LCDTest
Модифицированный GdbKillProc, который сам ищет среди процессов gdb.
Но это плохой вариант, т.к. сессий отладки может быть несколько.
Да, и похоже без модуля для NB не обойтись
NetBeans парсит ответ от gdb, gdb получает «магическое» значение pid от OpenOCD.
Этот pid и получает GdbKillProc.
Да, только в моём случае NB передаёт в GdbKillProc несуществующий pid, судя по исходникам это pid запущенного под отладкой процесса, а не процесса gdb
NetBeans использует параметры, как для простого kill -s INT , но, по крайней мере у меня, не передаёт не корректный PID процесса
У меня на win10 GdbKillProc из \NetBeans 8.2\cnd\bin\
С костылём, всё работает, но нужно ещё разобраться с параметрами которые NetBeans передаёт в GdbKillProc.exe
Есть ещё вариант использовать pipe
target remote | openocd -c "gdb_port pipe; log_output openocd.log"
GDB and OpenOCD
У меня управляется всё из NetBeans, собственно кроме ввода halt.
При этом не нужно вручную запускать openocd и делать Attach
Вместо Ctrl+C использую команду halt
Для перезапуска reset (halt/run/init)
Можно ещё делать так:
gdbinit:
shell start "OpenOCD" openocd
shell start "OpenOCD telnet" telnet localhost 4444
target extended-remote localhost:3333

openocd.cfg:
#Exit on gdb-detach
$_TARGETNAME configure -event gdb-detach { shutdown }

В telnet консоли можно вводить команды OpenOCD, в том числе init
Makefile удобнее свой использовать, или STM32CubeMX умеет генерировать
Какое расчётное время работы модуля, установленного, например на счётчике воды, при отправке показаний каждый день?
Производительность у колонок массивов в pg неплохая, если построить индексы. Правда с построением индексов по некоторым полям бывают проблемы, например индекс по UUID[] потребует дополнительных действий.
Если работать с нестандартными типами, будут сюрпризы:
например json[], jsonb[].
В postgresql-9.4.1208
//Для поля json[] 
PGobject[] jsons=rs.getArray(1).getArray();
jsons[0].getValue(); //  для получения строки

//Для поля jsonb[] 
String[] jsons=rs.getArray(2).getArray();


1

Information

Rating
Does not participate
Location
Свердловская обл., Россия
Registered
Activity