Add notes about python, databases, japan, debugging and inotify.
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
:PROPERTIES:
|
||||
:ID: ca50d517-3e8a-4d03-ba38-7ff411e87408
|
||||
:mtime: 20211230160701
|
||||
:mtime: 20220109135615
|
||||
:ctime: 20211230101331
|
||||
:END:
|
||||
#+title: Software
|
||||
|
||||
* Langages
|
||||
** [[id:4fabfe6a-b104-464f-8a87-dfd7d761dbcc][Python]]
|
||||
** [[id:ed8be72a-8a4d-4ef7-92e4-78d07095deaf][C++]]
|
||||
|
||||
* Design pattern
|
||||
|
@@ -1,6 +1,6 @@
|
||||
:PROPERTIES:
|
||||
:ID: 4fabfe6a-b104-464f-8a87-dfd7d761dbcc
|
||||
:mtime: 20220101184446
|
||||
:mtime: 20220104164359
|
||||
:ctime: 20211230101535
|
||||
:END:
|
||||
#+title: Python
|
||||
@@ -18,3 +18,4 @@
|
||||
* Tips
|
||||
** [[id:4ef76164-0e67-410a-8d26-b03071a0cc41][Compter la fréquence des éléments d'une liste]]
|
||||
** [[id:cb3c63b9-6452-4016-9b2f-a25784941d5d][List vs deque]]
|
||||
** [[id:9bdede16-5137-4393-a027-a5afbffd1618][Génération chaine de caractères aléatoires]]
|
||||
|
30
20220104151926-base_de_donnees.org
Normal file
30
20220104151926-base_de_donnees.org
Normal file
@@ -0,0 +1,30 @@
|
||||
:PROPERTIES:
|
||||
:ID: bb52f1a5-9f0c-48cc-8aeb-9124f2b42ccd
|
||||
:mtime: 20220104162639
|
||||
:ctime: 20220104151926
|
||||
:END:
|
||||
#+title: Base de données
|
||||
#+filetags: :database:
|
||||
|
||||
* Base de données relationnelle
|
||||
Une base de données relationnelle organise l'information dans des tableaux à 2 dimensions (appelés /relations/ ou
|
||||
/tables/). Les lignes de ces /relations/ sont appelées /enregistrements/ ou /nuplets/. Les colonnes sont appelées des /attributs/.
|
||||
Pratiquement tous les systèmes relationnels utilisent le langage SQL pour interroger les bases de données.
|
||||
** [[id:171ce2f7-4028-47b0-b4e0-5a4a6ccb74ac][Postgres]]
|
||||
|
||||
* Sql
|
||||
** Commandes de base
|
||||
*** Suppression d'une base de données
|
||||
#+BEGIN_SRC sql
|
||||
drop database <database>;
|
||||
#+END_SRC
|
||||
*** Changement du password d'un utilisateur
|
||||
#+BEGIN_SRC sql
|
||||
ALTER USER <user> WITH PASSWORD '<password>';
|
||||
#+END_SRC
|
||||
** Tips
|
||||
* [[id:03d81c25-555c-4d55-a2cd-2d5fc961acc7][sql_reset_root_password]]
|
||||
|
||||
* Références
|
||||
* https://fr.wikipedia.org/wiki/PostgreSQL
|
||||
* [[https://www.postgresql.org/docs/14/index.html][PostgresSQL documentation]]
|
38
20220104153133-sql_reset_root_password.org
Normal file
38
20220104153133-sql_reset_root_password.org
Normal file
@@ -0,0 +1,38 @@
|
||||
:PROPERTIES:
|
||||
:ID: 03d81c25-555c-4d55-a2cd-2d5fc961acc7
|
||||
:mtime: 20220104154557
|
||||
:ctime: 20220104153133
|
||||
:END:
|
||||
#+title: Reset du password admin d'une base SQL
|
||||
#+filetags: :SQL:
|
||||
|
||||
* Arrêt de l'instance en cours d'exécution
|
||||
#+BEGIN_SRC shell
|
||||
systemctl stop mysql
|
||||
#+END_SRC
|
||||
* Vérification de la présence et des droits du répertoire temporaire
|
||||
#+BEGIN_SRC shell
|
||||
mkdir /var/run/mysqld
|
||||
chown mysql /var/run/mysqld
|
||||
#+END_SRC
|
||||
* Exécution de /mysql/ sans prise en compte des droits
|
||||
#+BEGIN_SRC shell
|
||||
mysqld_safe --skip-grant-tables&
|
||||
#+END_SRC
|
||||
* Connexion à mysql en tant que root
|
||||
#+BEGIN_SRC shell
|
||||
mysql --user=root mysql
|
||||
#+END_SRC
|
||||
Le prompt mysql (~mysql>~) doit apparaitre.
|
||||
* Reset du mot de passe admin
|
||||
#+BEGIN_SRC sql
|
||||
UPDATE mysql.user SET authentication_string=null WHERE User='root';
|
||||
flush privileges;
|
||||
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password_here';
|
||||
flush privileges;
|
||||
exit;
|
||||
#+END_SRC
|
||||
Où ~your_password_here'~ est le nouveau mot de passe.
|
||||
|
||||
* Références
|
||||
* https://devanswers.co/how-to-reset-mysql-root-password-ubuntu/
|
15
20220104155310-postgres.org
Normal file
15
20220104155310-postgres.org
Normal file
@@ -0,0 +1,15 @@
|
||||
:PROPERTIES:
|
||||
:ID: 171ce2f7-4028-47b0-b4e0-5a4a6ccb74ac
|
||||
:mtime: 20220104161040
|
||||
:ctime: 20220104155310
|
||||
:END:
|
||||
#+title: Postgres
|
||||
#+filetags: :database:
|
||||
|
||||
* Principales caractéristiques
|
||||
* Licence de type BSD,
|
||||
* Utilise des types de données modernes, dits composés ou enrichis,
|
||||
* Fonctionne sur Solaris, SunOS, Mac OS X, HP-UX, AIX, Linux, IRIX, Digital Unix, BSD, NetBSD, FreeBSD, OpenBSD, SCO unix, NeXTSTEP, UnixWare et toutes sortes d'Unix. Depuis la version 8.0, PostgreSQL fonctionne également nativement sur Windows.
|
||||
|
||||
* Interfaces utilisateur
|
||||
** [[id:0455921f-3ac0-437e-ba76-1afb3f6f85ea][Psql]]
|
22
20220104155517-psql.org
Normal file
22
20220104155517-psql.org
Normal file
@@ -0,0 +1,22 @@
|
||||
:PROPERTIES:
|
||||
:ID: 0455921f-3ac0-437e-ba76-1afb3f6f85ea
|
||||
:mtime: 20220104160506
|
||||
:ctime: 20220104155517
|
||||
:END:
|
||||
#+title: Psql
|
||||
#+filetags: :postgre:database:
|
||||
|
||||
Interface en ligne de commande permettant la saisie de requêtes SQL, directement ou par l'utilisation de procédures
|
||||
stockées.
|
||||
|
||||
* Commandes
|
||||
** Connection
|
||||
#+BEGIN_SRC shell
|
||||
sudo -u postgres psql
|
||||
** Commandes de base
|
||||
| Commande | Description |
|
||||
| ~\l~ | Liste des bases de données hébergées |
|
||||
| ~\l+~ | Liste des bases de données hébergées (avec tailles et descriptions) |
|
||||
| ~\c "<database>"~ | Connection à la base de données |
|
||||
| ~\d~ | Description des tables de la base de données |
|
||||
| ~\d+~ | Description des tables de la base de données (avec tailles et descriptions) |
|
@@ -0,0 +1,19 @@
|
||||
:PROPERTIES:
|
||||
:ID: 9bdede16-5137-4393-a027-a5afbffd1618
|
||||
:mtime: 20220104163314
|
||||
:ctime: 20220104162747
|
||||
:END:
|
||||
#+title: Génération chaine de caractères aléatoires
|
||||
#+filetags: :Python:
|
||||
|
||||
#+BEGIN_SRC python :results output
|
||||
import random
|
||||
import string
|
||||
|
||||
# get random password pf length 8 with letters, digits, and symbols
|
||||
len_ = 20
|
||||
characters = string.ascii_letters + string.digits + string.punctuation
|
||||
print(f"Random password is: \"{''.join(random.choice(characters) for i in range(len_))}\"")
|
||||
#+END_SRC
|
||||
#+RESULTS:
|
||||
: Random password is: "'f#babNz3u&P|ctLy7WZ"
|
11
20220104163421-japon.org
Normal file
11
20220104163421-japon.org
Normal file
@@ -0,0 +1,11 @@
|
||||
:PROPERTIES:
|
||||
:ID: 511a96a2-2077-4392-8cc8-2cb4bfdc508d
|
||||
:mtime: 20220109121318
|
||||
:ctime: 20220104163421
|
||||
:END:
|
||||
#+title: Japon
|
||||
#+filetags: :Voyage:
|
||||
|
||||
* Lieux intéressants (et pas encore visités)
|
||||
** [[id:e4e194fe-9ec8-4113-b7e0-03eef0c8e5a9][Lac Tazawa]]
|
||||
** [[id:c3a27514-ca24-4e28-b6e3-09b8fc2d73a8][Ligne Tenryū Hamanako]]
|
160
20220106214423-inotify.org
Normal file
160
20220106214423-inotify.org
Normal file
@@ -0,0 +1,160 @@
|
||||
:PROPERTIES:
|
||||
:ID: fad57303-ce0c-4ae4-9529-294f70ecfaa5
|
||||
:mtime: 20220107081819
|
||||
:ctime: 20220106214423
|
||||
:END:
|
||||
#+title: Inotify
|
||||
|
||||
* Présentation
|
||||
Mécanisme du noyan Linux fournissant des notifications concernant le système de fichiers.
|
||||
|
||||
* Exemples
|
||||
** C++
|
||||
#+BEGIN_SRC C++ :tangle "/tmp/dummy.cpp" :results output
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/inotify.h>
|
||||
#include <unistd.h>
|
||||
#include <poll.h>
|
||||
|
||||
static void onInotify(int fd)
|
||||
{
|
||||
std::cout << "onInotify(" << fd << ")" << std::endl;
|
||||
bool finished = false;
|
||||
while (!finished)
|
||||
{
|
||||
struct inotify_event event;
|
||||
const ssize_t len = read(fd, &event, sizeof(event));
|
||||
if (len == -1 && errno != EAGAIN)
|
||||
{
|
||||
std::cout << "!read " << strerror(errno);
|
||||
finished = true;
|
||||
}
|
||||
// If the nonblocking read() found no events to read, then
|
||||
// it returns -1 with errno set to EAGAIN.
|
||||
// Nothing to read here, exit the loop.
|
||||
if (len <= 0)
|
||||
{
|
||||
finished = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Print event type.
|
||||
if (event.mask & IN_OPEN)
|
||||
{
|
||||
std::cout << "IN_OPEN: ";
|
||||
}
|
||||
if (event.mask & IN_CLOSE_NOWRITE)
|
||||
{
|
||||
std::cout << "IN_CLOSE_NOWRITE: ";
|
||||
}
|
||||
if (event.mask & IN_CLOSE_WRITE)
|
||||
{
|
||||
std::cout << "IN_CLOSE_WRITE: ";
|
||||
}
|
||||
// Print the name of the file.
|
||||
if (event.len)
|
||||
{
|
||||
std::cout << event.name << std::endl;
|
||||
}
|
||||
// Print type of filesystem object.
|
||||
if (event.mask & IN_ISDIR)
|
||||
{
|
||||
std::cout << " [directory]" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << " [file]" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
const std::string filename = "/tmp/dummy";
|
||||
|
||||
// Make sure the filename exists.
|
||||
struct stat buffer;
|
||||
if (stat(filename.c_str(), &buffer) != 0)
|
||||
{
|
||||
std::cout << filename << " doesn't exists... create it." << std::endl;
|
||||
std::ofstream dummy(filename);
|
||||
}
|
||||
|
||||
const int fd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC);
|
||||
if (fd < 0)
|
||||
{
|
||||
std::cout << "Unable to init inotify: " << strerror(errno) << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Trigger on open and close events.
|
||||
const int wd = inotify_add_watch(fd, filename.c_str(), IN_OPEN | IN_CLOSE);
|
||||
if (wd == -1)
|
||||
{
|
||||
std::cout << "Cannot watch '" << filename << "': " << strerror(errno) << std::endl;
|
||||
close(fd);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Prepare for pooling.
|
||||
const nfds_t nfds = 2;
|
||||
struct pollfd fds[2];
|
||||
// Console input
|
||||
fds[0].fd = STDIN_FILENO;
|
||||
fds[0].events = POLLIN;
|
||||
// Inotify input
|
||||
fds[1].fd = fd;
|
||||
fds[1].events = POLLIN;
|
||||
|
||||
// Wait for events and/or terminal input.
|
||||
std::cout << "Listening for events." << std::endl;
|
||||
bool stop = false;
|
||||
bool error = false;
|
||||
while (!stop)
|
||||
{
|
||||
const int poll_num = poll(fds, nfds, -1);
|
||||
if (poll_num == -1)
|
||||
{
|
||||
if (errno == EINTR)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
std::cout << "poll" << std::endl;
|
||||
error = stop = true;
|
||||
}
|
||||
else if (poll_num > 0)
|
||||
{
|
||||
if (fds[0].revents & POLLIN)
|
||||
{
|
||||
// Console input is available. Empty stdin and quit.
|
||||
char buf;
|
||||
while (read(STDIN_FILENO, &buf, 1) > 0 && buf != '\n')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
std::cout << "Stopping resquested..." << std::endl;
|
||||
break;
|
||||
}
|
||||
if (fds[1].revents & POLLIN)
|
||||
{
|
||||
// Inotify events are available.
|
||||
onInotify(fd);
|
||||
}
|
||||
}
|
||||
}
|
||||
std::cout << "Listening for events stopped." << std::endl;
|
||||
|
||||
/* Close inotify file descriptor. */
|
||||
close(fd);
|
||||
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Références
|
||||
* inotify(7) — Linux manual page]]
|
23
20220109113244-lac_tazawa.org
Normal file
23
20220109113244-lac_tazawa.org
Normal file
@@ -0,0 +1,23 @@
|
||||
:PROPERTIES:
|
||||
:ID: e4e194fe-9ec8-4113-b7e0-03eef0c8e5a9
|
||||
:mtime: 20220109114801
|
||||
:ctime: 20220109113244
|
||||
:END:
|
||||
#+title: Lac Tazawa
|
||||
#+filetags: :Japon:
|
||||
|
||||
* Infos
|
||||
* Situé à Semboku, dans la préfecture d'Akita dans le nord du Japon,
|
||||
* Lac le plus profond du Japon (423m de profondeur),
|
||||
* Statue Tatsuko (辰子像?) de Yasutake Funakoshi (舟越保武) au sud-ouest du lac,
|
||||
* Plusieurs sources chaudes se trouvent dans les collines autour du lac,
|
||||
* Un bus circule dans la région et offre une vue imprenable sur plusieurs points de vue,
|
||||
* Abrite le sanctuaire de Goza-no-ishi.
|
||||
|
||||
* Comment s'y rendre
|
||||
* Ligne Tazawako (gare de Tazawako) de la JR East passe au sud du lac. Auparavant un train express Tazawa circulait entre Morioka et
|
||||
Akita, il fut remplacé par le Shinkansen Akita Komachi en 1997.
|
||||
|
||||
* Références
|
||||
* [[https://fr.wikipedia.org/wiki/Lac_Tazawa][Wikipedia]]
|
||||
* https://furansujapon.com/lac-tazawa
|
72
20220109114848-ligne_tenryu_hamanako.org
Normal file
72
20220109114848-ligne_tenryu_hamanako.org
Normal file
@@ -0,0 +1,72 @@
|
||||
:PROPERTIES:
|
||||
:ID: c3a27514-ca24-4e28-b6e3-09b8fc2d73a8
|
||||
:mtime: 20220109135635
|
||||
:ctime: 20220109114848
|
||||
:END:
|
||||
#+title: Ligne Tenryū Hamanako
|
||||
#+filetags: :Japon:
|
||||
|
||||
* Quelques infos
|
||||
* Unique ligne ferroviaire de la compagnie Tenryū Hamanako Railroad (Tenhama),
|
||||
* Située dans la préfecture de Shizuoka au Japon,
|
||||
* Relie la gare de Kakegawa à celle de Shinjohara,
|
||||
* Est également appelée ligne Tenhama (天浜線?),
|
||||
* Lancement de son exploitation en 1940,
|
||||
* La plupart des quais et des bâtiments de gare de cette période sont encore utilisés,
|
||||
* 36 biens culturels tangibles le long de la ligne.
|
||||
|
||||
* Sites à proximité
|
||||
* Lac Hamana,
|
||||
* [[https://www.hamamatsu-japan.com/fr/sightseeing/6410/][Gare de Tenryu Futama ]]:
|
||||
* abrite également le siège de la compagnie tenryu hamanako railroad,
|
||||
* un de ses bâtiments historiques,
|
||||
* destination populaire pour les touristes (nombreux sites touristiques et restaurants accessibles à pied),
|
||||
* visite (quotidienne, réservation non obligatoire, 10h50 et 13h50 les week-ends et jours fériés, 13h50 sinon) pour observer la plaque tournante (toujours utilisées) des locomotives à vapeur + dépôt ferroviaire,
|
||||
* visite "aratte, mawatte, densha de go" (à 11h les week-ends et jours fériés) nécessite une réservation.
|
||||
* [[https://marukawas.web.fc2.com/][Marukawa no Kura]] : Une galerie dans une maison traditionnelle
|
||||
* À quelques pas de la gare,
|
||||
* Galerie créée lors de la rénovation d’un bâtiment construit il y a plus de 140 ans,
|
||||
* Autrefois d’un magasin d’alcools,
|
||||
* Devanture du rez-de-chaussée est remplie de confiseries à l’ancienne, de miso fait maison et de thé,
|
||||
* Galerie sur trois étages pleine d’œuvres d’artistes résidant dans la région,
|
||||
* Des événements mensuels.
|
||||
* [[https://honda-densyokan.com/][Centre d’artisanat de Soichiro Honda]] :
|
||||
* Présentation de la personnalité et du mode de vie de Soichiro Honda, fondatateur de Honda Motor Company,
|
||||
* Nombreuses innovations de Honda, notamment dans les domaines des moteurs et des motos.
|
||||
* [[https://www.hamamatsu-japan.com/fr/sightseeing/6411/][Ruines du château de Futamata]] :
|
||||
* Cnstruit par Futamata Masanaga, seigneur au service du clan Imagawa,
|
||||
* Site de nombreuses batailles entre les clans Tokugawa et Takeda,
|
||||
* Leu où le seigneur Tokugawa Ieyasu a forcé son fils aîné, Nobuyasu, à commettre le seppuku.
|
||||
* [[https://dlofre.jp/spots/miyakoda-eki-cafe/][Miyakoda Station Cafe]] :
|
||||
* Panneaux en bois sont décorés avec un tissu Marimekko,
|
||||
* Café et des biscuits faits maison et servis sur de la vaisselle Marimekko,
|
||||
* Terrasse dispose de places à côté du quai, dépourvues de cloison gênant la vision.
|
||||
* Gare de Hamanako-Sakume :
|
||||
* Célèbre pour les mouettes rieuses y prennent les airs entre décembre et février.
|
||||
* [[https://www.inhamamatsu.com/activity/fruit-park-tokinosumika.php][Hamamatsu Fruit Park Tokinosumika]] :
|
||||
* Parc au thème portant sur les fruits,
|
||||
* Visiteurs sont invités à cueillir une variété de fruits propres à chaque saison,
|
||||
* Spectacle de fontaines d'eau.
|
||||
* [[https://www.hamamatsu-japan.com/fr/sightseeing/6404/][Temple Ryotanji]] :
|
||||
* Etabli en 733 par le prêtre bouddhiste japonais Gyoki Bosatsu,
|
||||
* Nombreux biens culturels importants, dont :
|
||||
* Le jardin (désigné comme « lieu spécial de beauté pittoresque ») conçu par Kobori Enshu,
|
||||
* La sculpture de dragon réalisée par Hidari Jingoro,
|
||||
* Lieu de tournage à la série télévisée de la NHK "Naotora : La châtelaine.",
|
||||
* Un des cinq appartenant au Kohoku Gozan (Cinq temples au nord du lac).
|
||||
* Cap du Prince:
|
||||
* 15 minutes pour faire le tour à pied de la péninsule de Gomi,
|
||||
* en face de la gare de Nishi-Kiga,
|
||||
* s'appelle "Cap du Prince" depuis que le précédent empereur japonais a passé ses vacances au sanatorium voisin,
|
||||
* Avec ses paysages idylliques, c’est l’endroit idéal pour se promener les jours de beau temps.
|
||||
* [[https://tabelog.com/en/shizuoka/A2202/A220201/22034516/dtlrvwlst/#anchor-rd-detail][Pizzeria]] à la station [[https://en.wikipedia.org/wiki/Kanasashi_Station][Kanasashi]],
|
||||
* Café/boulangerie à la station [[https://en.wikipedia.org/wiki/Tsuzuki_Station][Tsuzuki]],
|
||||
* Location de vélos à la station [[https://en.wikipedia.org/wiki/Ensh%C5%AB-Mori_Station][Enshu-mori]],
|
||||
* [[https://www.innmylife.com/][Hôtel (unique chambre)]] dans la gare de [[https://en.wikipedia.org/wiki/Futamata-Hommachi_Station][Futamata-Honmachi]],
|
||||
|
||||
* Références
|
||||
* [[https://fr.wikipedia.org/wiki/Ligne_Tenry%C5%AB_Hamanako][Wikipedia]]
|
||||
* https://www3.nhk.or.jp/nhkworld/en/ondemand/video/2049094/
|
||||
* https://voyapon.com/shizuoka-tenryu-hamanako/
|
||||
* https://www.hamamatsu-japan.com/fr/column/6773/
|
||||
|
8
20220109134723-linux.org
Normal file
8
20220109134723-linux.org
Normal file
@@ -0,0 +1,8 @@
|
||||
:PROPERTIES:
|
||||
:ID: e7581fe3-f83f-4243-91ed-6ef7ade6a844
|
||||
:mtime: 20220109134802
|
||||
:END:
|
||||
#+title: Linux
|
||||
|
||||
* Fonctionnalités
|
||||
* [[id:fad57303-ce0c-4ae4-9529-294f70ecfaa5][Inotify]]
|
9
20220109135456-cpp.org
Normal file
9
20220109135456-cpp.org
Normal file
@@ -0,0 +1,9 @@
|
||||
:PROPERTIES:
|
||||
:ID: ed8be72a-8a4d-4ef7-92e4-78d07095deaf
|
||||
:mtime: 20220109135845
|
||||
:ctime: 20220109135456
|
||||
:END:
|
||||
#+title: C++
|
||||
|
||||
* Debuggers
|
||||
** [[id:200416f1-4277-4a2c-ad8c-8a78b3080564][GDB]]
|
25
20220109135824-gdb.org
Normal file
25
20220109135824-gdb.org
Normal file
@@ -0,0 +1,25 @@
|
||||
:PROPERTIES:
|
||||
:ID: 200416f1-4277-4a2c-ad8c-8a78b3080564
|
||||
:mtime: 20220109141630
|
||||
:ctime: 20220109135824
|
||||
:END:
|
||||
#+title: GDB
|
||||
|
||||
* Présentation
|
||||
* From Richard Stallman en 1986,
|
||||
* Licence publique générale GNU (GPL).
|
||||
* S'inspire du débogueur DBX (distribution Unix de Berkeley).
|
||||
* Fonctionne sur de nombreuses architectures de processeur différentes,
|
||||
* Permet le débogage distant (par l'intermédiaire d’une liaison série ou d’une connexion IP),
|
||||
* Permet de déboguer un programme en cours d’exécution ou post-mortem (analyse de coredump).
|
||||
|
||||
* Tips
|
||||
** Ajouter un chemin pour le chargement des fichiers de symboles des librairies dynamiques n'ayant pas de chemin absolu
|
||||
#+BEGIN_SRC shell
|
||||
set solib-search-path /usr/lib/x86_64-linux-gnu/:/tmp/
|
||||
#+END_SRC
|
||||
|
||||
* Références
|
||||
* [[https://fr.wikipedia.org/wiki/GNU_Debugger][Wikipedia]]
|
||||
* https://visualgdb.com/gdbreference/commands/set_solib-search-path
|
||||
|
Reference in New Issue
Block a user